簡體   English   中英

jQuery.ajax只工作一次

[英]jQuery.ajax only works once

我的chrome擴展程序的一部分進行了測試,以查看用戶是否已連接到互聯網。 它可以正常運行一次,但是運行后,$ .ajax === undefined,我不知道為什么。 我看不到任何可以修改$ .ajax的設置器

var testInternet = function(callback) {
    "use strict";
    var testURLs, doCallback, i, failCount;
    if (! callback) {
        callback = function(){};
    }
    doCallback = true;
    failCount = 0;
    testURLs = [
    "http://clients5.google.com/pagead/drt/dn/dn.js"
    ];
    for (i= 0; i < testURLs.length; i++) {
        testConnection(testURLs[i], function(success){
            if (success && doCallback) {
                doCallback = false;
                callback(true);
                return;
            } else {
                failCount += 1;
                if (failCount === testURLs.length) {
                    callback(false);
                    return;
                }
            }
        });
    }
}

var testConnection = function(url, callback) {
    "use strict";
    $.ajax({
        url: url,
        timeout: 10000,
        cache: false,
        success: function(data) {
            callback(true);
            return;
        },
        error: function(data) {,
            callback(false);
            return;
        }
    });
}

看起來是因為您正在獲取.js文件,jQuery會自動將dataType默認設置為script ,這將導致jQuery評估正在加載的腳本。 指定dataType: 'text'應防止該不良行為。

暫無
暫無

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

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