Content-type在jQuery中不起作用

时间:2012-03-27 20:07:12

标签: jquery json web-services

我有一个以json格式返回数据的web服务

 [WebMethod]
       public string GetCustomers()
        {
            using (var documentStore = new DocumentStore { Url = "http://haseeb-pc:8080/" }.Initialize())
            {
                using (var session = documentStore.OpenSession())
                {
                    var query = session.Query<Customer>().Select(customer => customer).Take(20);
                    var serializer = new JavaScriptSerializer();
                    return serializer.Serialize(query);
                }
            }
        }

在jQuery中我使用:

contentType: "application/json; charset=utf-8",

我在firebug中收到错误:

{"Message":"Invalid JSON primitive: take.","StackTrace":........................

当我删除它时:

  contentType: "application/json; charset=utf-8",

我的网络服务给了我这样的xml:

<string xmlns="http://tempuri.org/">
[{"FirstName":"Human1","LastName":"Being1","Email":"myemail1","ProductInfo":{"Name":"product1","Quantity":10}}]
</string>

但是我希望结果是JSON?

1 个答案:

答案 0 :(得分:0)

当使用jquery的$ .ajax方法来处理AJAX请求时,你不应该提供dataType而不是contentType吗?

contentType用于以特定格式向服务器发送数据

dataType用于以特定格式从服务器接收数据

类似这样的事情

$.ajax({
  type: "GET",
  url: "test.js",
  dataType: "json"
});