bod为空 我传值方式为 xhr.open(method, url) xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded') Object.keys(headers).forEach(headerkey => xhr.setRequestHeader(headerkey,headers[headerkey])) xhr.send(paramsString)
时间: 2023-07-16 17:14:51 浏览: 67
根据你提供的信息,bod为空的原因可能是你在发送请求时没有将请求体传递给服务器。xhr.send()方法只能发送GET请求,不支持POST请求,因此需要将参数作为请求体传递。可以按照以下方式修改代码:
1.使用POST方法发送请求
```javascript
xhr.open('POST', url);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
Object.keys(headers).forEach(headerkey => xhr.setRequestHeader(headerkey, headers[headerkey]));
xhr.send(paramsString);
```
2.将参数作为请求体传递
```javascript
xhr.open('POST', url);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
Object.keys(headers).forEach(headerkey => xhr.setRequestHeader(headerkey, headers[headerkey]));
xhr.send(JSON.stringify({bod: paramsString}));
```
这样,服务器就能正确地解析请求体中的参数了。
相关问题
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded') 出现了415错误
415错误通常表示请求的Content-Type类型不受支持。这可能是因为你设置的Content-Type类型不正确或不被服务器支持。
请确保你设置的Content-Type类型与服务器所需的类型相匹配。如果服务器需要JSON格式的数据,则应该将Content-Type设置为`application/json`,而不是`application/x-www-form-urlencoded`。如果服务器需要表单数据,则应该将Content-Type设置为`application/x-www-form-urlencoded`。
如果仍然遇到问题,请检查你的请求正文,确保它符合服务器所需的格式。
xhr.setRequestHeader("Content-Type", "application/json");是什么意思
这是一个设置HTTP请求头的JavaScript代码。XMLHttpRequest对象(简称XHR)是用于在Web浏览器与服务器之间发送和接收数据的API。通过设置“Content-Type”请求头,我们可以告诉服务器我们发送的数据格式是JSON格式,这样服务器就会知道如何正确地解析我们发送的数据。这是一种常见的用法,因为JSON格式在Web应用程序中被广泛使用。