我ASMX調用返回Content-Type = text/xml; charset=utf-8
VB.NET ASMX返回響應報頭爲XML而不是JSON
我使用ASP.NET 3.5和jQuery.Ajax
。
已經添加了這些東西都是從堆棧溢出每許多建議
我在web.config中
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
在ASMX裏面的函數調用來完成這些事情
這樣做,我正在使用這些
<WebMethod()> _ <ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _ Public Function GetCompanies(SearchedCompany As String) As String
jQuery的Ajax調用是這樣
var searchString = "SearchedCompany=" + $(".auto-company").val(); $.ajax({ type: "POST", url: "Services/CompaniesService.asmx/GetCompanies", data: searchString, dataType: 'json', success: function (msg) { companies = msg.hasOwnProperty("d") ? msg.d : msg; }, error: function (xhr, status, error) { } });
但無論我做什麼,響應報頭是XML類型的依然。我在這裏想念什麼?
聲明:我知道這已被問了很多次。但無法找到任何答案。正如你所看到的,我已經實施了所有提供的解決方案。
+1爲Encosia參考。我無法計算我回到這些文章的次數。 – lsuarez 2011-12-29 14:55:47
@naveen請仔細閱讀鏈接資源。正如文章所指出的那樣:「通過ASP.NET AJAX擴展序列化JSON的ASP.NET Web服務的安全功能是必須以特定方式請求它們。 ...請求的內容類型必須是:「application/json; charset = utf-8」' – lsuarez 2011-12-29 17:05:48
@libioaux感謝您的額外信息,希望這可以讓他得到他需要的地方。 – Gent 2011-12-29 17:07:58