0

jQuery 経由で php で c# Web サービス (*.asmx) を使用したいと考えています。
私のWebサービスは:
http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit
で、私のphpコードは:

    $.ajax({
      type: "POST",
      url: "http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit",
      dataType: 'text/xml; charset=utf-8',
      success: function(data) {alert('ok')},
      error  : function(e) {alert('error')}
    });

しかし、それはうまくいきません。
私は助けが必要です

4

1 に答える 1

1

ブラウザーに組み込まれている同一オリジン ポリシーの制限に違反しています。クロス ドメイン AJAX 要求を送信することはできません。これを機能させるには、この JavaScript コードをホストする PHP ページと同じドメインに ASMX Web サービスを配置する必要があります。この例では、 になりますhttp://www.w3schools.com/

利用しようとしているサービスがリモート ドメインにある場合は、(適切な HTTP 要求を送信することによって) リモート サービスを利用する PHP スクリプトをドメインに記述し、直接ではなくこの PHP スクリプトに AJAX 要求を送信できます。不可能なリモート サービスを呼び出そうとしています。新しい PHP スクリプトは、ドメインと、ASMX サービスがホストされているリモート ドメインとの間のブリッジとして機能します。

もちろん、リモート サービスがJSONPまたはCORSをサポートしている場合は、それを直接使用できます。これは、すぐに使用できる ASMX サービスには当てはまりません。サービスの作成者に連絡して、サポートされているかどうかを確認してください。

于 2012-12-08T16:32:36.463 に答える