Я получил следующую ошибку при вызове веб-службы на IIS7, 64-разрядная версия, Win Server 2008:
Формат запроса не распознается для URL, неожиданно заканчивающегося на '/getTopSixNewsByType'.
.
Совершенно нормально, когда веб публикуется на другом сервере, который является IIS6, 32-разрядный.
Я пытался поставить
<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 * +1026 *
И решил это с добавлением следующего в 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" />