我进行了一个ajax调用:
$.ajax({
url: 'Login.aspx/AuthenticateRegularUser',
type: 'POST',
contentType: 'application/json; charset=utf-8',
async: true,
dataType: "json",
data: '{ "emailAddress": "' + emailAddress + '","password": "' + password + '","verificationCode": "' + verificationCode + '" }',
success: function(Result) {
if (Result != "") {
var ClientResponse = JSON.parse(Result.d);
if (ClientResponse.Success) {
//DO SUCCESS
}
else {
//DO FAIL
}
}
},
error: function(xhr, textStatus, errorThrown) {
//DO ERROR
}
});
大多数时候,一切都很好,我会收到成功的回复。但我的一个客户遇到了一个问题,有时操作在服务器上成功完成,但我收到了一个错误回调,其中包含一个空错误。jqXHR为空,textStatus="并且抛出null errorThrown。
知道为什么吗?
会是不同类型的浏览器吗??可能是与IE相关的问题。也许让客户使用firefox。
IE对javascript的解释可能与firefox不同,我以前在工作中也遇到过类似的问题。微软总是试图拥有自己的javascript、html、css标准。还要检查数据:'{"emailAddress":"'+emailAddress+似乎有太多的引号。
感谢
尝试,需要删除data
前面的'
和如下所述的语法
data: { "emailAddress": emailAddress, "password": password, "verificationCode": verificationCode },
而不是
data: '{ "emailAddress": "' + emailAddress + '","password": "' + password + '","verificationCode": "' + verificationCode + '" }',
参考编号:http://api.jquery.com/jQuery.ajax/