微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax 传参不是json

在使用 AJAX 进行数据传输时,常常使用 JSON 格式传参。但是,在某些情况下,我们可能需要向后端传输其他格式的数据,例如字符串或者 formData 表单数据。这时候,我们就需要掌握如何使用 AJAX 传输非 JSON 格式的参数。

ajax 传参不是json

传输字符串

// 准备需要传输的字符串
var str = 'Hello World!';

// 创建 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();

// 配置请求
xhr.open('POST','/path');
xhr.setRequestHeader('Content-Type','text/plain');

// 发送请求
xhr.send(str);

// 监听响应
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    console.log(xhr.responseText);
  }
}

传输 FormData

// 准备需要传输的表单数据
var formData = new FormData();
formData.append('username','John');
formData.append('password','123456');

// 创建 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();

// 配置请求
xhr.open('POST','/path');

// 发送请求
xhr.send(formData);

// 监听响应
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    console.log(xhr.responseText);
  }
}

需要注意的是,当使用 FormData 传参时,Content-Type 会自动设置为 multipart/form-data,因此不需要手动设置。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐