作者anawak (...)
看板Ajax
标题[问题] post之後,function无作用
时间Tue Mar 11 14:20:05 2014
有一个很怪的问题,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)还是有作用!
https://www.youtube.com/watch?v=4hh2IXrdT4g
第31分26秒可以看到第2步的内容。
第29分26秒,可以看到第1步的内容
怎摸会这样?
顺便提一下,这系列的影片对MVC入门还不错,讲的很清楚。
只是讲师有时候会有小bug。用英文讲的,我是觉得还不难啦。
听不懂的部份看画面就知道在做什麽。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.231.86.165
1F:推 Kenqr:$.post这段会把php回传结果当成json格式处理 03/11 21:10
2F:→ Kenqr:大概是因为格式不对所以就没执行callback 03/11 21:11
3F:→ Kenqr:把$.post的最後一个参数拿掉试试吧 03/11 21:12
※ 编辑: anawak 来自: 61.231.86.165 (03/12 01:41)
找到问题了。这一行:
$('.del').click(function(){
要改成:
$('.del').live('click', function() {
※ 编辑: anawak 来自: 61.231.86.165 (03/12 02:18)
4F:推 arliang:请问为什麽要改成.live('click' 03/12 10:39
5F:→ anawak:还是有问题!请见下篇。 03/12 17:23