JSONP
返品が.net 4.5 ASP.NET WEB APIですぐにサポートされているかどうかを知っている人はいますか?
以前のバージョンの or .net では「自作」がたくさん見つかりましMVC
たが、それ以降のバージョンに固有のものはないようです。
これは、以前のバージョンが .net 4.5 スタックで動作するためである可能性があると認識していますが、誰かが既に焼き付けられているかどうか知りたいです。
JSONP
返品が.net 4.5 ASP.NET WEB APIですぐにサポートされているかどうかを知っている人はいますか?
以前のバージョンの or .net では「自作」がたくさん見つかりましMVC
たが、それ以降のバージョンに固有のものはないようです。
これは、以前のバージョンが .net 4.5 スタックで動作するためである可能性があると認識していますが、誰かが既に焼き付けられているかどうか知りたいです。
これは私が見つけた最初の投稿であり、最も役に立ちましたが、それでもいくつかの質問が残っており、回答のいくつかにいくつかの問題が見つかりましたが、すべての回答のために機能させることができました。何を追加したかったのですか?検索のリターンが高いらしいので知りました。https://www.nuget.org/packages/WebApiContrib.Formatting.Jsonp
をインストールし、追加した後に動作させることができました
GlobalConfiguration.Configuration.Formatters.Insert(0, new JsonpMediaTypeFormatter(new JsonMediaTypeFormatter()));
アプリケーション startas の Global.asax に Alex Wheat と mbudnik が答えたので、CORS はすべて実装済みの API の他の部分で動作しなくなりました。
これですべて正常に動作し、パッケージ開発者の github からいくつかのことがわかりました。
nuget パッケージをインストールした後、Global.asax ファイルに以下を追加します。
GlobalConfiguration.Configuration.AddJsonpFormatter();
次に、以下の Jquery を使用してサービスを呼び出す場合は、URL を自分の URL に置き換えるだけで、コンソールで結果を確認できます。また、トラブルシューティングに役立つため、Fiddler Web Debugger をインストールすることをお勧めします。
$.ajax({
url: 'http://jsfiddle.net/echo/jsonp/',
type: 'GET',
contentType: 'text/javascript',
crossDomain: true,
success: function(data) {
console.log(data);
},
error: function(jqXHR,status,error) {
console.log(error);
}
});
contentType : 'text/javascript'は重要です。これは、Jsonp Formatter を使用するよう Web API に指示するものです。
「jsonp」の dataType を含めないでください - 以下の例
...type: 'GET',
dataType: 'jsonp',
crossDomain: true,...
これにより、Web API が JsonMediaTypeFormatter を使用し、「jQuery randomfunctionstring was not called parsererror」エラーが発生します。私は個人的な試行錯誤からこれを知っています。うまくいけば、これは他の誰かに役立ちます。
また、WebApiContrib.Formating.Jsonp NuGet パッケージを使用することになりましたが、コールバック パラメーターがない場合はパディングなしで Json を返す機能を保持しています。
したがって、私が提供したコールバックパラメーターのJsonp IFのみ。
(howTo から) Global.asax.cs に追加する - Application_Start()
GlobalConfiguration.Configuration.AddJsonpFormatter();