📌  相关文章
📜  网络技术问题 | jQuery 测验 |第 2 组 |问题 13(1)

📅  最后修改于: 2023-12-03 15:41:21.424000             🧑  作者: Mango

网络技术问题 | jQuery 测验 |第 2 组 |问题 13

问题描述

在使用 jQuery 发送 AJAX 请求时,如何将请求的数据以 JSON 格式发送到服务器端?

解答

在 jQuery 中,可以通过设置请求体的 contentType 属性为 "application/json" 来告诉服务器端请求的数据是 JSON 格式。同时,需要把要发送的数据对象序列化成 JSON 字符串,并放到请求体中。

示例代码如下:

$.ajax({
  url: "/api/user",
  type: "POST",
  data: JSON.stringify({ name: "张三", age: 18 }),
  contentType: "application/json",
  dataType: "json",
  success: function (data) {
    console.log("成功", data);
  },
  error: function (xhr, status, err) {
    console.log("失败", status, err);
  }
});

以上代码将向 /api/user 发送 POST 请求,请求体中包含一个名为 name,值为 "张三",一个名为 age,值为 18 的 JSON 对象。请求体的 contentType 设置为 "application/json"

如果服务器端能够正确地处理 JSON 格式的请求体,那么应该能够得到正确的响应。在示例代码中,dataType 设置为 "json" 可以告诉 jQuery 接收到的数据是 JSON 格式的,而不是普通文本或 XML 等格式。

注意
  • 如果要发送的数据对象中包含有 JS 对象的话,需要在发请求之前使用 JSON.stringify() 将其转换成 JSON 格式字符串,以便后续能够正确地将其放到请求体中。
  • 如果服务器端无法正确地处理 JSON 格式的请求体,可能会导致请求失败或响应异常,需要注意处理。
参考链接