目前,我正在使用 JQuery Ajax 命令来调用名为isValidUser的 WCF服务。使用chrome进行调试,我可以看到WCF服务正在发送看似正确的JSON响应。 JQuery 中定义的成功回调方法也会被调用。但是,警报消息正在输出“未定义”。
以下是我使用的客户端脚本的片段。
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: 'http://localhost:28506/VikingServices.svc/isValidUser/john/doe',
processData: false,
dataType: "jsonp",
jsonpCallback: "callback",
success: callback,
error: ServiceFailed
});
function callback(data) {
alert(data);
}
function ServiceFailed(xhr) {
alert(xhr.responseText);
if (xhr.responseText) {
var err = xhr.responseText;
if (err)
error(err);
else
error({ Message: "Unknown server error." })
}
return;
}
这是我在来自Ajax请求的Chrome开发者工具响应中看到的响应:
{"Name":"Super Admin","Username":"john","id":1}
答案 0 :(得分:2)
您的数据类型为'jsonp',因此您的响应必须是有效的jsonp响应。像
这样的东西callback({"Name":"Super Admin","Username":"john","id":1});
应该有效。还有一个验证器:http://json-p.org/validator.html