我正在处理一些遗留代码,这些代码用于通过用户名/密码检查对 Web 应用程序的用户进行身份验证。该代码包含在标准 ASPX 页面中(是的,我知道),并且当请求该页面时,它要么返回状态 404 以指示身份验证失败,要么在 ASPX 页面上填充文字(如果一切正常)。
它是一个标准的 JQueryajax
调用:
$("#btnSWSignInPin").click(function () {
$.ajax({
url: "/Security/Validate.aspx",
type: "GET",
data: "Rnd=" + Math.random() + "&Identifier=" + $(".inpIdentifier").val() + "&Pin=" + $("#inpSWPin").val(),
success: function () {
$("#divSessionLogin").jqmHide();
WarnInFuture();
DoChecks = true;
},
error: function () {
ShowLogin("The password you entered was incorrect. Please try again.");
}
});
$("#inpSWPin").val("");
return false;
});
这个调用的 .NET 代码运行良好,我可以成功地单步执行它而在 VS 中没有问题。我在 Safari、Firefox 和 IE9 中进行了广泛的测试,除了后者在 OSX 和 Windows 上进行了广泛测试,并且它按预期执行。然而,在 Chrome(最新版本)中,成功函数从未执行,javascript 似乎认为从浏览器返回状态 200 以外的内容,尽管Fiddler
在响应标头中显示它肯定是 200。
谁能建议我可以检查什么以尝试理解和纠正这种行为?