为什么我的Ajax在while循环中只能获取第一项数据?
示例:首先添加到愿望清单中,其中第一个商品的商品ID = 64,当我添加另一个商品时,商品ID始终为64.
我的代码:
$(document).ready(function(){
$("#addtowishlist").live('click', function(evt) {
var link_data = $('.link').data('data');
$.ajax({
type: "POST",
url: 'addtowishlist.php',
data: ({product_id: link_data}),
success: function(data) {
alert(data);
}
});
});
});
解决方法:
ID必须是唯一的.否则,请使用类.如果您对ID使用相同的名称,则仅返回第一个匹配的数据.尝试以下代码:
这应该定义为一个类(删除id属性):
和这个 :
$(document).ready(function(){
// use class selector instead of ID
$(".addtowishlist").live('click', function(evt) {
// take only current clicked data element
var link_data = $(this).data('data');
$.ajax({
type: "POST",
url: 'addtowishlist.php',
data: ({product_id: link_data}),
success: function(data) {
alert(data);
}
});
});
});
标签:ajax,php,jquery
来源: https://codeday.me/bug/20191119/2032506.html