0
我想用jQuery调用一个asmx web服务方法,并为data
传递实际的JavaScript对象,并返回JSON。我能来最接近的是这样的:
$.ajax({
url: "WebService.asmx/HelloWorld",
type: "POST",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ num: 12, name: "Adam" }),
dataType: "json",
success: function (data) { alert(data.d); }
});
我怎样才能成功地使这个电话没有第一字符串化我的对象?
我想这(去除的contentType)
$.ajax({
url: "WebService.asmx/HelloWorld",
type: "POST",
data: { num: 12, name: "Adam" },
dataType: "json",
success: function (data) { alert(data.d); }
});
但是,返回结果以XML,JSON不是。
这里的Web方法:
[WebMethod]
[ScriptMethod]
public string HelloWorld(int num, string name) {
return ++num + name;
}
编辑
这里的请求的报头的截图。很明显,content-type被设置为xml来应答。
看起来很有希望,但我仍然收回XML。我使用与第二个代码示例相同的设置调用它 - 没有contentType。我应该改变什么吗? – 2011-12-27 15:42:38
你用什么来确定格式?萤火/控制台? – Joe 2011-12-27 15:44:36
Chrome开发工具 - 这就是我所看到的:'<?xml version =“1.0”encoding =“utf-8”?> 13 Adam '另外,我的成功回调并不是解雇 - 至少我应该得到一个不确定的警报。 –
2011-12-27 15:46:58