[问题] post之后,function无作用

楼主: anawak (...)   2014-03-11 14:20:05
有一个很怪的问题,youtube上的教学影片跟我照着打的结果竟然不一样。
1.某支js档会先执行这个:
$(function(){
$.get('dashboard/xhrGetListings', function(o){
$('.del').click(function(){
var id = $(this).attr('rel');
$.post('dashboard/xhrDeleteListing', {'id': id},function(o){
alert(1);
}, 'json');
return false;
});
}, 'json');
});
2.然后红色那一段,会去执行数据库操作,删除指定id的记录。
function xhrDeleteListing(){
//$id = $_POST['id'];
//$sth = $this->db->prepare("DELETE FROM data WHERE id='$id'");
//$res = $sth->execute();
echo 2;
}
问题:
第2步数据库操作完之后,第1步那个alert(1)都不会出来。
后来发现,第二步的 function 一定要丢出字串,不管是 echo 2 还是任何字串。
只要有echo东西出来,第1步的alert(1)就会执行。
但是教学影片里面,第二步没丢出任何东西,那个alert(1)还是有作用!
http://www.youtube.com/watch?v=4hh2IXrdT4g
第31分26秒可以看到第2步的内容。
第29分26秒,可以看到第1步的内容
怎摸会这样?
顺便提一下,这系列的影片对MVC入门还不错,讲的很清楚。
只是讲师有时候会有小bug。用英文讲的,我是觉得还不难啦。
听不懂的部份看画面就知道在做什么。
作者: Kenqr (function(){})()   2014-03-11 21:10:00
$.post这段会把php回传结果当成json格式处理大概是因为格式不对所以就没执行callback把$.post的最后一个参数拿掉试试吧
作者: arliang (凸锤大法师)   2014-03-12 10:39:00
请问为什么要改成.live('click'
楼主: anawak (...)   2014-03-12 17:23:00
还是有问题!请见下篇。

Links booklink

Contact Us: admin [ a t ] ucptt.com