1

我使用 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 的开发工具中所示: 在此处输入图像描述

我对请求做错了吗?或者也许是网络服务本身?

4

2 回答 2

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>
于 2012-07-12T09:01:33.303 回答
0

似乎我必须添加一个脚本标记来包装响应(在 Web 服务中)。我知道它可以使用 WCF 自动完成,但我不确定 asp.net webservices 是否可以为我完成这项工作,所以我将添加一个 HttpModule 来完成它并让你知道。

于 2012-07-13T09:53:14.420 回答