質問

JSONPを新しいWCF Web API RESTサービスで作業させる簡単な方法はありますか?

私は運がなくてこれを試しました

<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-wcf-web-api-and-jquery!/

更新:統合されたJSONPサポートを備えた最新のWCF Web APIビット船は、上記のリンクで説明されている方法とほぼ類似しています。

他のヒント

チェックアウトできます 次のブログ投稿 .NET 4.0でWCFでJSONPを使用するため。

JSONPのWCF WebAPIアウトボックスサポートの詳細を提供したかっただけです。私はこの情報を見つけるのに本当に苦労したので、おそらくそれは他の誰かを助けるでしょう...

このスレッド WCF CodePlexには、jQueryを使用してWebAPIクロスドメインJSONクエリ(別名JSONP)の使用方法についてDaniel Rothが説明しています。

彼が参照する「サンプル」は、WCF CodePlexリポジトリにあります ここ. 。 「デフォルト」フォルダーにあります。

また、Nugetを使用してプレビュー6のWebApienHancementsをインストールしてください。そうしないと、これは機能しません。

次のようなものを持つ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);
    }
}

もう1つの鍵は、URIテンプレートの「拡張機能」を説明することです...

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

次に、このようにjQueryコールをします...

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

これがそうです 別のブログ投稿 これは、aを追加する方法を説明しています JsonpFormatter プロジェクトに。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top