【发布时间】:2013-09-20 05:55:52
【问题描述】:
我正在尝试使用 jQuery 跨域调用 web 服务。
这是我调用服务的代码
$(document).ready(function () {
$.ajax({
type: 'GET',
async: false,
contentType: "application/json",
url: "http://localhost:52136/Service1.svc/Helloworld?callback=func_callbk",
dataType: "jsonp",
success: function (data) {
alert('sucesss')
alert(data.d);
},
error: function (data) {
alert(data);
}
});
});
func_callback = function (data) {
alert(data.data.people[0].id);
}
我正在从服务返回简单的字符串。
public string HelloWorld()
{
return "Hello World";
}
服务被调用,但我收到错误
Uncaught SyntaxError: Unexpected token :
在 Chrome 的控制台窗口中。
我在从浏览器调用服务时得到这个字符串:
{"HelloWorldResult":"Hello World"}
请让我知道我哪里出错了?
提前致谢。
【问题讨论】:
-
@DipeshParmar 分号在 javascript 中不是必需的,仅推荐使用。
-
感谢@DipeshParmar,但它并没有解决问题。
-
您似乎在请求 jsonp(填充的 json),但从服务器返回一个字符串。您能否显示服务器提供的完整输出?您是否在初始化 javascript 或 ajax 调用后收到错误?
-
使用 jsonp,你应该看到的是
somefunction({"HelloWorldResult":"Hello World"});。设置CrossDomainScriptAccessEnabled -
Hello @Jite 服务器方法被调用并给出输出 {"HelloWorldResult":"Hello World"}
标签: jquery .net wcf rest jsonp