簡體   English   中英

jQuery $ .ajax沒有做任何事情

[英]jQuery $.ajax is not doing anything

我有一個似乎未做任何事情的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
    }
});

謝謝

嘗試這個:

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

嘗試將cachekiller放在數據參數上

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

好的,每件事似乎都很好,這是您可以檢查的幾件事

  1. (可能看起來太離譜了)您是否包含了jQuery.js
  2. 確保在其他任何js文件之前都包含jQuery.js
  3. url like之前放一個/ ,並確保已將ajax.php放置在服務器的根目錄下
  4. 如評論中所述,檢查firebug控制台(firefox)或chrome開發人員工具中是否存在任何js錯誤
 $.ajax({ url: '/ajax.php', cache:false, data: { action: 'doLogin' }, success: function() { // Not being called }, error: function() { // Not being called either } }); 

您不需要使用cachekiller使用ajax方法的cache:false屬性

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM