Вопрос

Есть ли простой способ заставить JSONP работать на новые услуги REST Web API WCF?

Я пробовал это без повезло

<standardEndpoints>
  <webHttpEndpoint>
    <standardEndpoint name=""
                      helpEnabled="true"
                      automaticFormatSelectionEnabled="true"
                      defaultOutgoingResponseFormat ="Json"
                      crossDomainScriptAccessEnabled="true"/>
  </webHttpEndpoint>
</standardEndpoints>
Это было полезно?

Решение

https://alexanderzeitler.com/articles/look-ma ,-i-can-handle-jsonp-%28aka-cross-domain-json%29-with-wcf-web-api-and-jquery!//

ОБНОВЛЕНИЕ: Последние корабли WCF Web API с интегрированной поддержкой JSONP, тогда как использование почти похоже на то, как описано в ссылке выше.

Другие советы

Вы можете проверить Следующее сообщение в блоге Для использования JSONP с WCF в .NET 4.0.

Просто хотел предоставить более подробную информацию о поддержке WCF WebAPI для JSONP. Мне было очень трудно найти эту информацию, так что, возможно, она поможет кому -то еще ...

Эта ветка На WCF Codeplex есть описание Даниэля Рота о том, как использовать Webapi Cross-Domain JSON запросы (AKA JSONP) с использованием jQuery.

«Образец», который он ссылается, можно найти в репозитории WCF Codeplex здесь. Анкет Это в папке «по умолчанию».

Кроме того, убедитесь, что вы установите WebApienhancents для предварительного просмотра 6, используя Nuget, в противном случае ничего из этого не будет работать.

Вам понадобится Global.asax.cs с чем -то вроде следующего ...

public class Global : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        var config = new WebApiConfiguration() { EnableTestClient = true };
        RouteTable.Routes.MapServiceRoute<HelloWorldApi>("api", config);
    }
}

Другой ключ - учитывать «расширение» в вашем шаблоне URI ...

[WebGet(UriTemplate="hello{ext}")]

Тогда вы заставляете свой jQuery так же ...

$.getJSON("/api/hello.jsonp?callback=?", function (data) {
    $("div").html(data);
}); 

Вот Еще один пост в блоге это описывает, как добавить JsonpFormatter к проекту.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top