0

他のWebサイトからWebサービスを呼び出し、Ajax呼び出しを使用してhtmlページで応答を返したいです。

データはWebサービスの応答である必要があります。私はたくさん試しましたが、解決策が得られません。私もブラウザを横断しました。問題は、ajaxリクエストを使用してWebサービスを呼び出すときに発生します。

私のWebサービスコード:

    [ServiceContract]
    public interface IService
    {

        [WebInvoke(Method = "GET",RequestFormat=WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
        //[WebGet]
        [OperationContract]
        string GetData(string inputString); 
    }

It is implemented as:

    public string GetData(string inputString)
        {
            return "myData";
        }


Javascript code (From my other website):

 <script type="text/javascript">
            function click_btn() {
                $.ajax({
                    type: "GET",
                    url: "http://192.168.15.213/MyService.svc/GetData/inputString=e",
                    contentType: "application/json",
                    success: function (jsonData) {
                        alert('Data: ' + jsonData);
                 `enter code here`   },
                    Error: function (e) {
                        alert('err: ' + e);
                    }
                });
                return false;
            }
    </script>

404 method not allowed別のWebサイトからWebサービスを呼び出すと、エラーが発生します。

4

1 に答える 1

0

そのとおりです。クライアント コンテキストとは異なるドメインからのリクエストを実行することはできません。しかし、独自のサーバー コードで外部 Web サイトからデータをフェッチし、それをクライアント用のサービスとして提供することができます。実際、通常、外部ソースからのデータに何らかのコンテキストを与える必要があるため、クライアントに送信する前にその情報を処理する必要があります。

それが役に立てば幸い

于 2012-12-10T12:48:29.357 に答える