2011-05-08 45 views
0

好了,所以我的AJAX去如下 - 當有人點擊此鏈接:麻煩與我的阿賈克斯後腳本

$echo " | <a href=\"javascript:void(0);\" id=".$larray['idnum']." class=\"deleterow\">Delete Friend</a>"; 

我使用AJAX/jQuery來將數據發送到delete_ajax.php

$(".deleterow").click(function() { 
    $('.deleterow').attr('id'); 
    var dr= $(this).attr('id'); 
    $.post("delete_ajax.php", { id: dr }); 
}); 

有人可以仔細檢查,這是完全正確的嗎?

+2

這條線有什麼意義? '$('。deleterow')。attr('id');' – 2011-05-08 19:47:59

+3

爲什麼不測試它,看看你的php腳本是否得到了任何東西?我們在這裏不是校對... – 2011-05-08 19:48:00

+0

我做了,鏈接最終沒有做任何事情 – Alen 2011-05-08 19:49:40

回答

3

首先,檢查您的代碼是否正在文檔加載事件中執行。爲此,封裝內$(function(){ ... })

然後,所有的jQuery代碼,而不是id=".$larray['idnum'].",使用data-id=".$larray['idnum']."和:

$(".deleterow").click(function() { 
    $.post("delete_ajax.php", { id: $(this).data('id'); }); 
}); 

最後,而不是<a>您可以使用<div>做到這一點,只需添加cursor:pointer它的類或樣式,所以光標形狀像一隻手。

+0

非常感謝你的工作!我試圖找出近8小時= D! – Alen 2011-05-08 20:01:57

+0

然後接受他的回答? – daniels 2011-05-08 20:07:59

0

我不知道爲什麼我回應這一點,但瓦特/電子

你應該用握手類似請求您的服務器進行通信。雙方都應該承認一個請求,以瞭解事件是否成功。

在delete_ajax.php

....

if ($this->db->delete('table', 'where ..')){ 
    echo json_encode(array('result'=>1, 'message'=>'delete successful')); 
} else { 
    echo json_encode(array('result'=>0, 'message'=>'delete unusuccessful')); 
} 

有你的Ajax應答響應。

$(".deleterow").click(function() { 
    // $('.deleterow').attr('id'); // pointless.. 
    var dr= $(this).attr('id'); 
    $.post("delete_ajax.php", 
     { id: dr }, 
     function (reponse){ 
      alert(response['message']); 
     }, 'json' 
    ); 
});