以下是我的jQuery脚本代码:
$(document).ready(function () {
$.ajax({
cache: false,
type: "GET",
async: true,
dataType: "json",
url: "http://localhost:9002/SampleServices/Service/REST/Employees",
processdata: false,
error: ServiceFailed,
success: function () { alert("succeeded"); }
});
});
function ServiceFailed(result) {
alert('Service call failed: ' + result.status + '' + result.statusText);
Type = null;
Url = null;
Data = null;
ContentType = null;
DataType = null;
ProcessData = null;
}
function ServiceFailed(xhr) {
alert("error");
alert(xhr.responseText);
if (xhr.responseText) {
var err = xhr.responseText;
if (err)
error(err);
else
error({ Message: "Unknown server error." })
}
return;
}
当我运行上面的代码时,它总是输入ServiceFailed(xhr)并警告“错误”。
当我尝试通过浏览器执行上述url(“http:// localhost:9002 / SampleServices / Service / REST / Employees”)时,我得到以下JSON响应: { “网页”:1, “记录”:1, “行”:[{ “小区”:[ “1”, “哈里斯”, “21-03-1979”, “HR”], “ID”:1 }], “总”:1}
Fiddler在我运行jQuery脚本时说:
# Result Protocol Host URL Body Caching Content-Type Process Comments Custom
1 200 HTTP localhost:9002 /SampleServices/Service/REST/Employees?_=1340833203960 89 application/json; charset=utf-8 chrome:1448
答案 0 :(得分:1)
carlosfigueira钉了它。
这是一个跨域请求,因此我需要在App.config文件中为我的WCF服务添加跨域支持
答案 1 :(得分:0)
从documentation开始,错误回调函数接受三个参数:jqXHR
,textStatus
和errorThrown
。
您的方法只有一个参数。首先应该让错误方法采用三个参数并检查它们具有的值。