当我在标签中使用带有JavaScript的onclick事件时,jQuery AJAX似乎一次发送了两个请求。我点击一次,这似乎没问题,但是当我将id值更改为无效的id值时,它会向PHP文件发送两个请求。我认为问题可能是由浏览器缓存JavaScript代码引起的。 这是我用来生成查询的JavaScript代码:
function unlike_image(id, image_id, obj) {
var url_unlike_image = base_url + 'profile/unlike_image';
$.ajax({
type: "POST",
data:
{
user_id: id,
image_id: image_id
},
url: url_unlike_image,
success: function(data) {
if (data.status=='error_exists') {
alert('This image not exists');
}
if (data.status=='success') {
//like = like - 1 for view
var str = $(obj).next().text();
var n = str.length;
str_like = str.substring(1, n-1);
var number_likes = parseInt(str_like) - 1;
$(obj).next().text('('+number_likes+')');
//change event click unlike
$(obj).text('Like');
$(obj).attr('onclick', 'like_image('+id+' ,'+image_id+ ',this); return false');
}
}
});
}
将真实ID更改为错误的ID后,我检查网站流量,我看到两个调用了different_image的实例。第一个是真正的id,第二个是错误的id。