jQuery 发送JSON数据

示例

jQuery使处理jSON响应变得轻而易举,但是当给定请求希望您以JSON格式发送数据时,需要做更多的工作:

 $.ajax("/json-consuming-route", {
      data: JSON.stringify({author: {name: "Bullwinkle J. Moose", 
                                     email: "bullwinkle@example.com"} }),
      method: "POST",
      contentType: "application/json"
   });

观察到我们正在contentType为发送的数据指定正确的值;这是一般的一个很好的做法,并可以通过API你张贴到需要-但它具有指导jQuery的不执行的默认转换的副作用%20来+,它会怎么做,如果contentType留在默认的价值application/x-www-form-urlencoded。如果由于某种原因必须将contentType设置为默认值,请确保将其设置processData为false以防止这种情况。

在JSON.stringify这里可以避免调用,但是使用它可以使我们以JavaScript对象的形式提供数据(从而避免了令人尴尬的JSON语法错误,例如无法引用属性名)。