2012-10-31 186 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");