Невозможно вызвать Webmethod из JQuery - PullRequest
0 голосов
/ 09 ноября 2010

Я не могу вызвать webmethod из jquery.Я думаю, что это о файле web.config.Как установить файл web.config для веб-служб и веб-метода?

1 Ответ

0 голосов
/ 09 ноября 2010

У вас есть этот код?

        $.ajax({
            url: "Services/MyService.svc/Service",
            type: "GET",
            context: document.body,
            contentType: 'application/json; charset=utf-8',
            datatype: 'json',
            success: function (data) {
                // do something
            }
        });

обратите внимание, что contentType часть является критической.

Если вы это сделаете, проверьте Firebug на точную ошибку, которая появляется на вкладке «Net». Обычно у людей разные проблемы в зависимости от типа сервиса - ASP.NET asmx или WCF svc. Для конфигурации asmx обратитесь к Как разрешить файлу ASMX выводить JSON . Для wcf вам нужно настроить web.config для разрешения веб-скриптинга, например:

<system.serviceModel>
 <behaviors>
  <endpointBehaviors>
    <behavior name="AspNetAjaxBehavior">
      <enableWebScript/>
    </behavior>
  </endpointBehaviors>
 </behaviors>

, а затем настройте службу для использования этого поведения:

  <services>
    <service name="MyProject.Services.MyService">
      <endpoint address="/Services/MyService.svc" behaviorConfiguration="AspNetAjaxBehavior" binding="webHttpBinding" contract="MyProject.Services.MyService"/>
    </service>
  </services>
</system.serviceModel>
...