(Ajax リクエスト) WCF REST サービスを呼び出していますが、リクエストはクロス ドメイン リクエストです。
サービスを同じドメインにデプロイすると、すべてがクリームのように機能します。最終的に本番環境では、サービスは別のドメインになります。
jQuery 1.5.2 を使用しています。サービスから次のようなエラーが返されます。
errorThrown: "jQuery15208493315000087023_1334089616458 was not called"
textStatus: "parsererror"
Firefox では JSON 値を確認できますが、実行は Ajax リクエストのエラー ハンドラに落ちます。
私のAjaxリクエストは次のとおりです。
function CallService() {
$.ajax({
type: "GET",
url: "http://SomeService/EmpService.svc/GetValues?dv=1455",
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
processdata: false,
success: function (data) {
ServiceSucceeded(data);
},
error: function (jqXHR, textStatus, errorThrown) {
debugger;
alert("Service Error");
ServiceFailed(jqXHR, textStatus, errorThrown);
}
});
}
WCF サービス側では、CrossDomainScriptAccess を true に構成しました。
<webHttpBinding>
<binding name="webHttpBindingWithJsonP"
crossDomainScriptAccessEnabled="true" />
</webHttpBinding>
サーバーから取得した JSON 応答は次のとおりです。
[{"Message": "Stop On Duty", "MessageTime": "\/Date(1334068773893-0500)\/"},
{"Message": "Start On Duty", "MessageTime": "\/Date(1334068763540-0500)\/"},
{"Message": "App_testing_4102012924am", "MessageTime": "\/Date(1334068533627-0500)\/"},
{"Message": "Kunal_testing_4102012924am", "MessageTime": "\/Date(1334067945510-0500)\/"},
{"Message": "Alert: Door Open", "MessageTime": "\/Date(1334066280963-0500)\/"}]
ここの設定で何か不足していますか?サービスが同じドメインに移動された場合、コード全体が正常に動作します。
同様の投稿を調べましたが、これを機能させることができませんでした。