IE没有调用$ .ajaxSetup

时间:2012-07-13 20:08:12

标签: javascript jquery internet-explorer

以下调用适用于除IE之外的所有浏览器。 $.ajaxSetup未被识别。我不会调用errorcomplete函数,除非我将它们直接添加到$.ajax调用中。

知道为什么吗?

function setupAjaxCalls() {
    $.ajaxSetup({
        type: 'GET',
        dataType: "jsonp",
        contentType: "application/json",
        data: {
            deviceIdentifier: deviceIdentifier,
            deviceType: deviceType,
            memberId: loggedInMemberId,
            authToken: authToken,
            cache: false,
            responseFormat: 1
        },
        error: function (x, e) {
            defaultError(x, e);
        },
        complete: function () {
            apiCallInProgress = 'false';
            //alert('complete!');
        }
    });
}

function logInForm(memLogin, memPassword, callback) {
    apiCallInProgress = 'true';

    $.ajax({
        type: 'POST',
        dataType: "json",
        url: baseApiUrl + '/MembershipService/AuthLoginSecure',
        data: {
            login: memLogin,
            password: memPassword,
            responseFormat: 0
        },
        success: function (data) {
            if (data.Success == false) {
                apiError(data);
            } else {
                loggedInMemberId = data.Member.Id;
                authToken = data.Token;

                if (typeof (callback) != "undefined" || callback) {
                    callback(data);
                }

            }
        }
    });
}

1 个答案:

答案 0 :(得分:0)

直接来自文档:

http://api.jquery.com/jQuery.ajaxSetup/

Note: Global callback functions should be set with their respective global Ajax event
handler methods—.ajaxStart(), .ajaxStop(), .ajaxComplete(), .ajaxError(), .ajaxSuccess(),
.ajaxSend()—rather than within the options object for $.ajaxSetup().

您应该将错误和完整属性移动到自己的方法中。 :)或者,您可以将它们放入$ .ajax方法中。哪种最适合您的首选代码模式!