我正在調用(Ajax請求)一個WCF REST服務,並且請求是跨域請求。跨域jQuery 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)\/"}]
我在設置中遺漏了什麼。如果服務移動到同一個域,整個代碼都可以正常工作。
我看着類似的帖子,但無法做到這一點。
,我希望你也加入了跨域策略文件,點擊這裏http://msdn.microsoft.com/en-us/library/cc197955%28v = vs.95%29.aspx – Chandermani 2012-04-11 06:40:20
是的,根目錄 – 2012-04-11 13:36:00