javascript中的https post类似于带有标题和参数的curl-d;“请求”;模块节点npm
我想在javascript请求中创建HTTP POST,就像下面的curl一样(传递一些参数)到Django服务器javascript中的https post类似于带有标题和参数的curl-d;“请求”;模块节点npm,javascript,node.js,http,post,npm,Javascript,Node.js,Http,Post,Npm,我想在javascript请求中创建HTTP POST,就像下面的curl一样(传递一些参数)到Django服务器 curl -X POST --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' -d 'token=Rh7JARH¶m_id=2' 'http://localhost:8000/api/test/param_id' 下面是我创建j
curl -X POST --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' -d 'token=Rh7JARH¶m_id=2' 'http://localhost:8000/api/test/param_id'
下面是我创建javascript代码的尝试。请注意,我正在使用npm“请求”模块
但是令牌和参数id是一个问题,在它抱怨的服务器上
django.utils.datastructures.MultiValueDictKeyError: "'token'"
我想使用示例中的npm请求模块创建与javascript中相同的curl HTTP POST。我想我很接近了,它可能是jsonObject,您可以尝试用单引号替换jsonObject键值对的双引号
var jsonObject = {
"token": "@#@dasdas!#@$!#",
"param_id": 2
};
下面的代码应该将所需的参数发布到服务器。我已经在自己的服务器上对此进行了测试,url编码的参数被正确解析:
const request = require('request');
const headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json'
};
const options = {
url: 'http://localhost:8000/api/test/param_id',
method: 'POST',
headers: headers,
body: 'token=Rh7JARH¶m_id=2'
};
request(options, (error, response, body) => {
if (error) {
console.error("An error has occurred:", error);
} else {
console.log("Response:", body);
}
});
const request = require('request');
const headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json'
};
const options = {
url: 'http://localhost:8000/api/test/param_id',
method: 'POST',
headers: headers,
body: 'token=Rh7JARH¶m_id=2'
};
request(options, (error, response, body) => {
if (error) {
console.error("An error has occurred:", error);
} else {
console.log("Response:", body);
}
});