做了很多谷歌搜索,但似乎無法找到答案。JQuery使用ASP.Net Web服務的web服務器 - 請求格式無法識別的URL意外終止於
當我打電話給我的web服務從Jquery的,我收到錯誤
Request format is unrecognized for URL unexpectedly ending in '/AirportSearchGeneric'.
因素
我目前調用Web服務是在同一臺機器(上,但在不同的網絡服務器調用應用程序是端口64004和接收應用程序是1400) - 可能跨越「域」的問題?都是本地主機。
兩者都使用作爲Visual Studio一部分的測試Web服務器。
我曾嘗試加入2個協議web.config中(添加名稱=「HTTPGET」加名=「HttpPost」)
在事件查看器的錯誤occures在服務器上。
我得到在Firebug以下...
OPTIONS AirportSearchGeneric http://localhost:1400/services/airportservice.asmx/AirportSearchGeneric
500內部服務器錯誤
本地主機:1400
...沒見過OPTIONS但之前請求是通過POST請求訪問的。
jQuery代碼...
$.ajax({
type: "POST",
url: "http://localhost:1400/services/airportservice.asmx/AirportSearchGeneric",
data: "{'criteria':'EGBB', 'maxResults':'10'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d);
}
});
Web服務代碼...
[WebService(Namespace = "http://localhost/WebServices")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class AirportService : WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public string AirportSearchGeneric(string criteria, int maxResults)
{
IAirportService svc = new Airports.AirportService.AirportService();
List<AirportSearchResult> res = svc.AirportSearchGeneric(criteria, maxResults);
DataContractJsonSerializer serializer = new DataContractJsonSerializer(res.GetType());
MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, res);
string jsonString = Encoding.Default.GetString(ms.ToArray());
ms.Close();
return jsonString;
}
}
...不認爲它有問題在這裏調試時,在這裏沒有代碼被執行的。
很確定我已經涵蓋了所有我讀過的關於爲什麼發生這種情況的原因,所以對於我如何才能實現這一目標的任何建議都非常有幫助。
乾杯。
爲了參考的螢火頭如下:
Host localhost:1400
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 (.NET CLR 3.5.30729; .NET4.0E)
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language en-gb,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Origin http://localhost:64004
Access-Control-Request-Me... POST
(無應答的螢火遠離500錯誤接收的,沒有HTML響應的話)。