我有一个调用WebService
的ajax查询。它起作用并做它的事情,并且根本不返回任何东西(它是一个空洞)。调试时应用程序中没有错误。但jquery .ajax的错误事件一直在触发。 textStatus和errorThrown未定义。 XMLHttpRequest没有错误状态的指示。
为什么此查询认为它收到错误响应?
也很奇怪:如果我在WebMethod中放置断点,则在方法完成之前会在客户端抛出错误。它似乎没有等待它完成,它只是正确的错误事件。我希望这与这里的问题有关...
$.ajax({
url: baseUrl() + "/webservices/usersetting.asmx/SetSetting",
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
data: $.toJSON(ajaxData),
success: function (data) {
alert('success');
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Error: " + errorThrown + " data: " + ajaxData.id);
}
});
在错误事件中调试时:
XMLHttpRequest
abort: function (){w&&Function.prototype.call.call(g,w);L("abort")}
onabort: null
onerror: null
onload: null
onloadstart: null
onprogress: null
onreadystatechange: function (){}
readyState: 4
response: ""
responseText: ""
responseType: ""
responseXML: null
status: 0
statusText: ""
upload: XMLHttpRequestUpload
withCredentials: false
__proto__: XMLHttpRequest
这是方法。我尝试使用void返回,并且“true”。尝试了responseformat Xml和Json。没有区别。
[WebMethod(EnableSession = true),
ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
public string SetSetting(List<UserSettingData> data)
{
UserSettingManager setMgr = new UserSettingManager(Global.UserSession.UserID);
foreach (UserSettingData item in data)
{
setMgr.SetSetting(item.name, item.value);
}
return (jsonString(true));
}
答案 0 :(得分:0)
Visual Studio重新启动后问题已解决。不知道为什么,但已完成和完成。