0

Cross Origin 互換の WCF サービスを作成しました (これには 4 日間の調査が必要でした!) すべてが機能していますが、jQuery 要求に問題があります。それは私が何も知らないエラーを私に与えています。

誰かがここで何をすべきかについて私に考えを与えることができますか.

私のjQuery:

<script type="text/javascript">
$.ajax({
    url: 'http://localhost:8000/EchoWithGet',
    data: 's=boo!',
    type: 'GET',
    dataType: 'jsonp',
    success: function(res) {
        alert('yay');
    },
    error: function(a,b,c) {
    alert(a + ", " + b + ", " + c);
    }
});
</script>

エラー応答:

[オブジェクト オブジェクト]、parsererror、エラー: jQuery17206724130902069609_1340034989481 は呼び出されませんでした

ブラウザにアクセスして URL を入力すると、次のようになります。

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">OK</string>

誰かがここで光を当てることができますか?

ありがとう

4

1 に答える 1

1

そのページから JavaScript 呼び出しを返す必要があります。それがjsonpの仕組みです。

したがって、応答は次のようになります。

jQuery17206724130902069609_1340034989481('some param');

callbackデフォルトでは、jquery は、サーバーが応答する必要がある上記のコールバック名を指定する URL に呼び出されるパラメーターを追加します。

ajax ドキュメント、特に jsonp を扱うセクションを読むことをお勧めします。jsonpの仕組みを調べる

スプーン給餌開始:

サーバーに次のように応答させます。

iwillreaduponjsonp({'status':'ok'});

次のように、クライアント側で jsonp リクエストを作成します。

$.ajax({
    url: 'http://localhost:8000/EchoWithGet',
    data: 's=boo!',
    type: 'GET',
    dataType: 'json',
    jsonp: false, jsonpCallback: "iwillreaduponjsonp",
    success: function(res) {
        alert('yay');
    },
    error: function(a,b,c) {
    alert(a + ", " + b + ", " + c);
    }
});

/スプーンの給餌終了

于 2012-06-18T16:04:34.267 に答える