[問題] post之後,function無作用

看板Ajax作者 (...)時間11年前 (2014/03/11 14:20), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/2 (看更多)
有一個很怪的問題,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。用英文講的,我是覺得還不難啦。 聽不懂的部份看畫面就知道在做什麼。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.86.165

03/11 21:10, , 1F
$.post這段會把php回傳結果當成json格式處理
03/11 21:10, 1F

03/11 21:11, , 2F
大概是因為格式不對所以就沒執行callback
03/11 21:11, 2F

03/11 21:12, , 3F
把$.post的最後一個參數拿掉試試吧
03/11 21:12, 3F
※ 編輯: 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)

03/12 10:39, , 4F
請問為什麼要改成.live('click'
03/12 10:39, 4F

03/12 17:23, , 5F
還是有問題!請見下篇。
03/12 17:23, 5F
文章代碼(AID): #1J7giOT6 (Ajax)
文章代碼(AID): #1J7giOT6 (Ajax)