我用一個簡單的方法jQuery.ajax:爲什麼向服務器發送OPTIONS請求?
$.ajax({
type: "GET",
url: serviceUrl + '/GetAgentsGroupNameById',
contentType: "application/json; charset=utf-8",
data: { id: agentsGroupId },
async: false,
success: function (data) {
agentsGroupName = data["d"];
},
error: function (request, message) {
agentsGroupName = '';
}
});
「獲取」請求被髮送,我從服務器獲取一個結構良好的JSON響應。 的問題是,我在另一個請求生成相同的URL開發工具看,有請求方法:OPTIONS,用空的反應,我看到了一個錯誤:
OPTIONS http://localhost:1004/MobileService.asmx/GetSubscribedAgentsByUserId?userId=27 500 (Internal Server Error)
這是什麼OPTIONS請求? 爲什麼會發生?
P.S.我提到,如果我刪除contentType:「application/json; charset = utf-8」(並添加dataType:json或jsonp),則不會生成OPTIONS請求,但我沒有得到格式正確的json作爲響應我得到還挺XML文檔)
BTW:服務是asp.net C#:
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public string GetAgentsGroupNameById(int id)
請讓我知道如果您需要任何進一步細節關於請求或響應
謝謝從前進!
是的你是對的 – 2012-07-11 14:47:03
不知道該鏈接應該採取的人雖然?! – 2012-07-11 14:50:01
我只做「GET」請求,就像你看到的那樣,當我使用dataType:'jsonp'時,我沒有任何錯誤,但是我得到一個xml文檔作爲響應,而不是一個json對象。 – benams 2012-07-11 14:52:26