jQuery(v 1.7.2)で使用しようとしているWCF JSONPサービスがあります。JSONP + jQuery:エラー80020101のため操作を完了できませんでした
サーバー側のコード:
[OperationContract]
[WebGet(BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
[JSONPBehavior(callback = "method")]
List<string> GetList()
{
return new List<string> {"test1", "test2"};
}
クライアント側コード:
される何が起こるfunction showList()
{
$.ajax({
url: 'http://mysite/myservice.svc/GetList',
dataType: 'jsonp',
data: { },
contentType: "application/json",
success: function (m)
{
debugger;
},
error: function (err)
{
debugger;
}
});
}
: 'エラー' コールバックが呼ばれ、私はerr
パラメータをチェックしたときに、そのerr.responseText
が正しいJSONレスポンスが含まれています:{"GetListResult":["test1","test2"]}
何が起こっているのかを見るために、私はjQuery自体のデバッグに行きました。私はそれがfai結果をajaxConvert
の方法に変換するには:
jQuery 1.7.2(最小化しない)、行7511:success = ajaxConvert(s, response);
これらの例外Could not complete the operation due to error 80020101.
。
私がajaxConvert
を通過すると、上記の例外をスローするjQuery.globalEval(response)
を実行しようとしています。
私は間違って何をしていますか?
に役立ちます願っていますが、あなたの 'dataType'が "JSONP" であるべきか?それを "json"に設定するとどうなりますか?私はあなたがjsonpをやっているとは思わない。 http://en.wikipedia.org/wiki/JSONPを参照してください – Cheeso
クロスドメインコールを行う必要があります - wcfサービスはクライアントページとは別のドメインにあります。したがって私はJSONP呼び出しが必要です。 – Andrey
ああ、私の誤解。 – Cheeso