使用JQuery发布JSON

时间:2010-10-04 11:03:27

标签: json jquery

尝试让JQuery将JSON发布到服务器:

$.ajax({  
  url: "/path/to/url",  
  type: "POST",  
  dataType: "json",  
  contentType: "json",  
  data: {"foo": "bar"},  
  success: function(){              
    alert("success :-)");  
  },  
  error: function(){  
    alert("fail :-(");  
  }  
});  

问题是服务器上的数据显示为"foo=bar"而不是所需的"{\"foo\":\"bar\"}

我认为指定dataType或contentType参数可以解决问题,但是没有。

任何人都知道正确的ajax配置? [或者在发布之前将'data'参数序列化为JSON的方法?]

谢谢!

2 个答案:

答案 0 :(得分:10)

您可以使用json2.js

data: JSON.stringify({"foo": "bar"})

答案 1 :(得分:1)

数据类型用于返回数据。 Contenttype不适用,请参阅here

它只能发送字符串,我在我创建的javascript对象上使用JSON.stringify,在你的情况下你只需手动编码字符串。

您还需要访问服务器端的字符串,如果您使用的是java,我可以推荐google的gson