在IIS7,64位,win server 2008上调用Web服务时出现以下错误:
对于意外以“/ getTopSixNewsByType”结尾的网址,无法识别请求格式。
当网络发布在另一台服务器上时,完全没问题,这是一台32位的IIS6。
我试过把
<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>
进入web.config但它没有用。
呼叫是
$.ajax({
type: "POST",
url: "/WebServices/NewsWS.asmx/getTopSixNewsByType",
data: "{type:'1'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
beforeSend: Loading,
success: Success,
error: Error
});
function Loading() {
$('#gonggao').html('<img src="/Image/loader.gif"/>');
}
function Success(data, status) {
$("#gonggao").setTemplateURL('/IndexPage/indexNews.htm');
$('#gonggao').processTemplate(data.d);
}
任何人都可以帮助我,谢谢你!!
代码在asp.net 4.0中
后来我发现了另一条错误消息:
请求格式无效:application / json;字符集= UTF-8
通过在web.config
中添加以下内容解决了这个问题<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />