当前位置: 首页 > 面试题库 >

如何使用$ .ajax发送JSON而不是查询字符串?

祁嘉言
2023-03-14
问题内容

有人可以简单地说明如何使jQuery发送实际的JSON而不是查询字符串吗?

$.ajax({
    url      : url,
    dataType : 'json', // I was pretty sure this would do the trick
    data     : data,
    type     : 'POST',
    complete : callback // etc
});

实际上,这会将您精心准备的JSON转换为查询字符串。令人讨厌的事情之一是,array: []对象中的任何内容都将转换为array[]: [],这可能是由于查询字符串的限制所致。


问题答案:

您需要使用JSON.stringify,首先将您的对象序列化为JSON,然后指定,contentType以便您的服务器理解为JSON。这应该可以解决问题:

$.ajax({
    url: url,
    type: "POST",
    data: JSON.stringify(data),
    contentType: "application/json",
    complete: callback
});

请注意,该JSON对象在支持JavaScript 1.7 / ECMAScript
5或更高版本的浏览器中本机可用。如果您需要传统支持,则可以使用json2。



 类似资料:
  • 我是新来的,jQuery开发,我有一个问题,为什么我不能使用dataType:'json'也不$. parseJSON来处理从PHP到AJAX(jQuery)的返回查询。 读者js 控制器。php 因此,警报会向我返回以下消息: 如果我注释数据类型:“json”,它将返回以下警告:未定义 如果我将警报更改为警报(carga.nome)到警报(加载),它会返回以下内容: 另外,正如我前面所说的,如果

  • 问题内容: 我想使用JavaScript中的方法发送一些变量和一个字符串。 我从数据库中获取字符串,然后将其发送到PHP页面。我正在使用一个对象。 问题在于该字符串多次包含该字符,PHP中的数组将其视为多个键。 我试着更换与与功能,但它似乎并没有做任何事情。 有人可以帮忙吗? javascript代码和字符串如下所示: 字符串是: 问题答案: 您可以使用encodeURIComponent()。

  • 我正在研究一个刮刀,它通过Chrome延伸部分工作。它抓取页面上的所有超文本标记语言,并将其发送到过滤和保存数据的python代码。我这样做刮擦的原因是因为网站有蒸馏网络和一个“传统”刮刀被阻止。 我成功地连接了这两个代码,但每当我尝试向python服务器发送“Test”时,它只输出浏览器的标题。 b'GET/HTTP/1.1主机:localhost:18364连接:升级Pragma:no-cac

  • 问题内容: 我的印象是,使用x-www-form-urlencoded规范的POSTS应该在帖子正文中发送URL编码的参数字符串。但是,当我这样做时 接收端的请求主体如下所示: 但我期望得到这个 我如何获得请求以第二种形式发送数据? 问题答案: 获得JSON的原因是因为您显式调用以生成JSON字符串。只是不这样做,您就不会得到JSON字符串。换句话说,将第一行更改为: 正如文档所解释的,如果将di

  • 可能重复: 在php中使用seo用户友好 在代码注入器中自定义路由 我正在设计一个CMS,我想使用用户友好的URL而不是查询字符串。 例如。: