2011-05-08 22 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' 
    ); 
});