首页  >  文章  >  web前端  >  如何使用 jQuery 发送 JSON 数据:为什么我收到的是查询字符串?

如何使用 jQuery 发送 JSON 数据:为什么我收到的是查询字符串?

Susan Sarandon
Susan Sarandon原创
2024-11-02 10:30:30131浏览

How to Send JSON Data with jQuery: Why Am I Receiving a Query String Instead?

使用 jQuery 了解 JSON 数据传输

以 JSON 格式发送数据对于网页和服务器之间的高效通信至关重要。但是,如果您遇到以未格式化的方式发送数据,例如“City=Moscow&Age=25”,则可能是由于缺少正确的请求配置。

提供的代码尝试使用 jQuery 发送 JSON 数据$.ajax() 方法。默认情况下,jQuery 将数据转换为查询字符串,从而生成“City=Moscow&Age=25”格式。要解决此问题,请按照以下步骤操作:

  1. 使用 JSON.stringify(): 使用 JSON.stringify() 将 JavaScript 对象 (arr) 转换为 JSON 字符串。
  2. 设置请求内容类型:使用 contentType 属性将请求内容类型指定为“application/json; charset=utf-8”。这通知服务器数据正在以 JSON 形式发送。
  3. 确保 JSON 响应: 设置 dataType: 'json' 属性以指示服务器的预期响应应采用 JSON 格式

这是更正后的代码:

<code class="javascript">var arr = { City: 'Moscow', Age: 25 };
$.ajax({
    url: 'Ajax.ashx',
    type: 'POST',
    data: JSON.stringify(arr),
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    async: false,
    success: function(msg) {
        alert(msg);
    }
});</code>

附加说明:

  • arr 不是数组,而是JavaScript 对象。数组包含在 [] 中。
  • 如果服务器遵循 HTTP 协议并以“Content-Type: application/json”进行响应,成功回调将自动将 JSON 响应解析为 JavaScript 对象。

以上是如何使用 jQuery 发送 JSON 数据:为什么我收到的是查询字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn