2

我有一个简单的 jquery.ajax 调用,用于检查用户的凭据。我的问题是它适用于其他任何地方(IE8、9、10、Chrome、Firefox、带有 IE8 的 VS2008),但在我的特殊情况下,我使用 Visual Studio 2012 并使用任何浏览器从那里启动它会导致通用的“网络错误” ”。我的电话看起来完全像这样:

var username = $('#Username').val();
    var password = $('#Password').val();
    var qstr = "userName=" + username + "&password=" + password;
$.ajax({
        type: "GET",
        url: "http://" + serverId + "/ADService/Service1.asmx/LoginUser",
        data: qstr,
        async: false,
        timeout: 5000,
        dataType: "xml",
        success: function (xml) {
            alert('Success');
            result = $(xml).find('result').text();
            userId = $(xml).find('userId').text();
            name = $(xml).find('name').text();
            role = $(xml).find('role').text();
        }
    , error: function (xmlHttpRequest, ajaxOptions, thrownError) {
        alert('response: ' + xmlHttpRequest.responseText);
        alert('status: ' + xmlHttpRequest.statusText);
    }
    }).done(function (data) {
        createCookie("userId", userId);
        createCookie("name", name);
        createCookie("role", role);
        eraseCookie("returningFromPage");

        if (result == "VALID") {
            if (role == "Engineer") {
                window.location.href = "EngrView.aspx";
            }
            else {
                window.location.href = "AD_Select.aspx";
            }
        }
        else {
            alert("Login failed");
        }
    })
    .fail(function () {
        alert("Login failed (.fail function)");
    });

对于我提到的配置,这个调用总是在“错误”事件处理程序中以“网络错误”的通用响应结束,并且没有关于发生了什么的其他信息。

看着提琴手,调用实际上确实从服务器发出,并且响应正常且正确。我觉得有一些我不知道的 VS2012 设置正在扼杀我的电话。有任何想法吗?

4

0 回答 0