【发布时间】:2011-06-18 00:58:30
【问题描述】:
我正在尝试通过使用 jQuery 的 javascript 使用 ASMX Web 服务。当我要求 XML 时它工作正常,但我想利用 .net 的 JSON 序列化功能; (它也开始让我觉得这不起作用)
网络服务的代码:
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
[WebService()]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class SimpleService : WebService
{
[WebMethod]
public String GetString()
{
return "value";
}
}
客户端代码:
$.ajax({
type: "POST",
url: "SimpleService.asmx/GetString",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json"
});
然后响应...
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
<?xml version="1.0" encoding="utf-8"?><string xmlns="http://tempuri.org/">value</string>
请求总是成功,但是 jQuery 给了我一个解析器错误(毫不奇怪,鉴于响应)。
我已经束手无策了。我尝试添加一个将 ResponseType 设置为 JSON 的 ServiceMethod 属性,但似乎没有任何效果。
我也不想使用 .NET ScriptManager javascript 生成器,所以请不要建议使用它们。
【问题讨论】:
标签: web-services json asp.net-ajax asmx