jQuery-如何通过Ajax将JSON转换成JSON?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (88)

我试图通过Ajax将一些JSON格式的数据jQuery到服务器上。我的代码看起来如下:

$.ajax({
    type: "PUT",
    url: myURL,
    contentType: "application/json",
    data: {"data": "mydata"}
});

但是在服务器端,我收到一个data=mydata字符串,而不是预期的JSON。错在哪了?

提问于
用户回答回答于

我认为数据应该是字符串。对象被转换为查询字符串,

你可以使用JSON.stringify(obj)方法将对象转换为字符串。

或者,传递用于将对象创建为文字字符串的代码,但我认为这只是一个示例,你需要对已经创建的某个对象进行编码。

用户回答回答于

如果您总是必须在应用程序中发送JSON,则只需在init中的某个地方执行此操作,然后使用默认$.ajax调用,它将始终序列化为JSON字符串,而不是Ajax默认查询字符串。

在这里,我使用了上面提到的JSON对象:

$.ajaxSetup({
    contentType : 'application/json',
    processData : false
});
$.ajaxPrefilter( function( options, originalOptions, jqXHR ) {
    if (options.data){
        options.data=JSON.stringify(options.data);
    }
});

扫码关注云+社区

领取腾讯云代金券