0

サーバーで wcf サービスを作成しました。同じソリューションまたは同じサーバーの別のソリューションにある HTML ページでこの Web メソッドを使用すると、IIS でホストされます (例: service url://www.xyz.com/ projectname/service.svc/
methodname および domain url://www.xyz.com/projectname) type='post' および datatype="J son" を使用して ajax jquery でこの URL を呼び出すと、Web からの応答が正常に取得されますmethod.but 問題は、異なるドメイン名 (ドメイン URL: //www.abc.com/projectname およびサービス URL //www.xyz.com/projectname/service.svc/methodname) を持つ別のサーバーにサンプル HTML ページを作成するときです。 ) Web サービスを呼び出すことができないか、Web メソッドを呼び出しているのか正確にわからず、エラー メッセージが表示されます。問題を解決する方法を教えてください。

4

1 に答える 1

1

クロスドメイン AJAX 呼び出しを行うには、次の 2 つの可能性があります。

  • JSONP(jquery を使用する場合は GET 要求でのみ機能し、JSON 応答ペイロードでのみ機能します) - サービスは単純な JSON ではなく JSONP 応答をサポートする必要があります。基本的にこれは、パラメーターとして渡される必要があるコールバック関数で標準の JSON をラップする必要があることを意味します。ここで、WCF サービスで JSONP サポートをネイティブに有効にする方法については、こちらをご覧ください:既存の WCF サービスに対して JSONP をネイティブに有効にする方法?
  • CORS(すべての HTTP 動詞で動作します) - Web サービスは適切なAccess-Control-Allow-*応答ヘッダーを返す必要があります。これらのヘッダーを追加するカスタム メッセージ インスペクターを WCF で作成する方法の例を以下に示します: http://enable-cors.org/server_wcf.html
于 2013-11-07T13:51:24.897 に答える