<a id="ad_server_ad" name="1" href="http://google.com">
<img src="xyz.png"></a>
以上是我的HTML代码:
这是我的js代码:
$(document).ready(function(){
$('a#ad_server_ad').click(function() {
var name = this.name;
$.post("ajax_test.php",{ test:name },function(data){
alert(data);
});
});});
这是我的ajax_test.php
if(isset($_REQUEST['test']))
{
echo "Call made successfully" . $_REQUEST['test'];
}
代码对于第一个ajax调用完全正常,但之后当我再次打开页面并再次单击图像时,ajax调用被取消,如networks / XHR所示。 如果我等了几分钟它再次工作,但只是一次。
现在如果我在隐身模式下使用相同的代码,它适用于所有连续点击。 我是ajax和jquery的新手所以请帮助我。
答案 0 :(得分:0)
据我所知,它可能涉及浏览器缓存。尝试为每个请求添加一个随机数,即&#34; ajax_test.php?12345&#34;。
这应该欺骗浏览器不缓存请求。请检查此答案:Prevent browser caching of jQuery AJAX call result
答案 1 :(得分:0)
编辑: 听起来不相关的答案,我想不出这可能与所描述的行为有什么关系......
你应该防止锚点击的defaut行为:
$(document).ready(function () {
$('a#ad_server_ad').click(function (e) {
e.preventDefault(); // prevent click anchor default behaviour
var name = this.name;
var self = this;
$.post("ajax_test.php", {
test: name
}, function (data) {
alert(data);
// to redirect, you could use:
window.location = self.href;
});
});
});