在使用 AJAX 进行数据传输时,常常使用 JSON 格式传参。但是,在某些情况下,我们可能需要向后端传输其他格式的数据,例如字符串或者 formData 表单数据。这时候,我们就需要掌握如何使用 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 举报,一经查实,本站将立刻删除。