我使用jQuery.ajax函数向以下asp.net webservice发出GET请求:
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public string GetAgentsGroupNameById(int id)
我将contentType设置为'application \ json',将dataType设置为'jsonp',但我仍然得到xml响应:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="tempuri.org/">Sports</string>;
以下是请求和响应的详细信息,如chrome的开发工具中所示:
我的请求有问题吗?或者也许与webservice本身?
答案 0 :(得分:0)
Webservice可以返回JSON和XML,您必须在ajax调用中指定所需的格式,如contentType: 'application/json; charset=utf-8'
。序列化是自动的。不要担心你的代码会正常工作。返回的内容的格式为
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://formshare.com/">
[{"VAL1":"SSDSDSD"},{"VAL2":"PDWDWWD"}]//Example JSON
</string>
答案 1 :(得分:0)
似乎我必须添加一个脚本标记来包装响应(在Web服务中)。 我知道它可以通过WCF自动完成,但是我不确定asp.net webservices是否可以为我完成这项工作,所以我将添加一个HttpModule来做这件事并让你知道。