我有一个似乎没有做任何事情的jQuery AJAX请求。
我在Chrome调试器的“网络”标签上看不到任何操作,
错误/成功回调没有在函数内部调用,似乎没有任何东西在服务器端发生。
问题是,我的主要本地域名没有发生这种情况:http://dev.sitename.com
它只发生在我的内页上,例如:http://dev.sitename.com/about
我的猜测是有一些.htaccess规则会破坏这个过程,但我认为没有网络活动,所以它怎么可能呢?
这是我的代码:
$.ajax({
url: 'ajax.php?cachekiller=' + (new Date()).getTime(),
data: {
action: 'doLogin'
},
success: function() {
// Not being called
},
error: function() {
// Not being called either
}
});
谢谢
答案 0 :(得分:3)
试试这个:
$.ajax({
url: 'ajax.php',
cache: false,
data: {
action: 'doLogin'
},
success: function(data) {
console.log(data);
},
error: function() {
console.log('error');
}
});
并在ajax.php脚本中:
header("Pragma: no-cache");
header("Cache-Control: must-revalidate");
header("Cache-Control: no-cache");
header("Cache-Control: no-store");
header("Expires: 0");
答案 1 :(得分:1)
尝试将cachekiller放在数据参数上
$.ajax({
url: 'ajax.php',
data: {
cachekiller: (new Date()).getTime(),
action: 'doLogin'
},
success: function() {
// Not being called
},
error: function() {
// Not being called either
}
});
答案 2 :(得分:1)
好的每件事似乎都没问题,这里有一些你可以查看的东西
/
之前添加url
,并确保已将ajax.php
放置在服务器的根目录$.ajax({ url: '/ajax.php', cache:false, data: { action: 'doLogin' }, success: function() { // Not being called }, error: function() { // Not being called either } });
你不需要使用cachekiller使用ajax方法的cache:false
道具