2
我有一個ajax查詢,它調用WebService
。它起作用並做它的事情,並且什麼也沒有返回(這是一個空白)。調試時應用程序中沒有錯誤。但jquery .ajax的錯誤事件不斷髮射。 textStatus和errorThrown未定義。 XMLHttpRequest沒有指示錯誤狀態。從jQuery ajax到asp.net WebService的錯誤響應,但沒有錯誤
爲什麼此查詢認爲它得到錯誤響應?另外奇怪的是:如果我在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 return和「true」來試用它。嘗試了響應格式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));
}
這是一個跨域請求嗎? – 2011-02-16 22:30:08