2012-10-31 65 views
0

我有一个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 
    } 
}); 

谢谢

+2

的.htaccess无法阻止浏览器尝试击中服务器。 - 一旦ajax呼叫出去,你会在网络标签中看到SOMETHING –

+3

检查你的控制台,看看是否有任何错误 – Ibu

+0

你的控制台是否显示任何错误? – Shmiddty

回答

1

尝试把cachekiller数据PARAM

$.ajax({ 
    url: 'ajax.php', 
    data: { 
     cachekiller: (new Date()).getTime(), 
     action: 'doLogin' 
    }, 
    success: function() { 
    // Not being called 
    }, 
    error: function() { 
    // Not being called either 
    } 
}); 
+0

jQuery ajax接受“cache:false”参数为此,没有必要输入任何数据对象 –

+0

嗯我认为这是一个变量他的生意 – melanke

1

确定每一件事情似乎是罚款,这里有一些东西,你可以退房

  1. (似乎离谱)你有没有包括的jquery.js
  2. 确保了jquery.js和任何其他js文件
  3. /url像以前一样,并确保您所放置ajax.php在根之前包括您的服务器的
  4. 在评论中提到您在Firebug控制台任何的js错误(火狐)
  5. 或Chrome开发者工具
$.ajax({ 
     url: '/ajax.php', 
     cache:false, 
     data: { 
      action: 'doLogin' 
     }, 
     success: function() { 
     // Not being called 
     }, 
     error: function() { 
     // Not being called either 
     } 
    }); 

你不需要使用cachekiller使用cache:false道具AJAX方法

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");