formdata提交乱码
时间: 2023-10-02 14:07:05 浏览: 152
如果你使用的是前端框架如 Vue 或 React,可以在发送请求时设置请求头的Content-Type为"application/x-www-form-urlencoded;charset=UTF-8",如下示例:
```
axios({
method: 'post',
url: 'your_url',
data: qs.stringify(your_data),
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
}
})
```
如果你是手动构造表单提交,可以使用encodeURIComponent编码每个参数的值,如下示例:
```
var xhr = new XMLHttpRequest();
xhr.open('POST', 'your_url');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');
xhr.onload = function () {
// handle response
};
var formData = new FormData();
formData.append('param1', encodeURIComponent('参数1的值'));
formData.append('param2', encodeURIComponent('参数2的值'));
xhr.send(formData);
```
注意,对于中文等非ASCII字符,需要先进行encodeURIComponent编码,再进行表单提交。
阅读全文