Javascript 请求参数节点JS 500错误
由于uri是按预期生成的,并且列表数据显示在第页中,但在请求方法中发送req时,出现500错误,而不是重新运行正文 uri:Javascript 请求参数节点JS 500错误,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,由于uri是按预期生成的,并且列表数据显示在第页中,但在请求方法中发送req时,出现500错误,而不是重新运行正文 uri:http://yufluyuinnepal.com/?vTRIPTYPE=O&vOPSID=O&vSTRFROM=KTM&vSTRFROMTXT=&vSTRTO=PKR&vSTRTOTXT=&vFLIGHTDATE=27-2018年11月&vRETURNDATE=2018年11月27日&vADULT=1&vCHILD=0&vNATIONALITY=NP&vNATIONALI
http://yufluyuinnepal.com/?vTRIPTYPE=O&vOPSID=O&vSTRFROM=KTM&vSTRFROMTXT=&vSTRTO=PKR&vSTRTOTXT=&vFLIGHTDATE=27-2018年11月&vRETURNDATE=2018年11月27日&vADULT=1&vCHILD=0&vNATIONALITY=NP&vNATIONALITYTXT=Nepal&
const uri = `http://yufluyuinnepal.com/?${queryString(query)}`;
console.log(uri);
const req = {
uri: uri,
};
request(req, (error, response, body) => {
if (error) {
return reject(error);
}
if (response.statusCode !== 200) {
return reject(new Error(`Expected 200 but got ${response.statusCode}`));
}
return resolve(body);
});
让我知道如何返回正文以及代码中的错误。在请求npm模块中,指定请求类型(GET/POST等)
//获取请求示例
变量选项={
方法:“获取”,
网址:
乌里,
标题:
{
//标题应符合文件要求
}
};
请求(选项,(错误、响应、正文)=>{
如果(错误){}
如果(response.statusCode!==200){}
返回解析(body);
})
这是您当前使用回调函数的实现
const req = {
uri: uri,
method: 'GET'/'POST'
};
request(req, (error, response, body) => {
if (error) {
console.log(error);
}
if (response.statusCode !== 200) {
//Do something
}
console.log(body);
//Do something
});
当使用请求承诺
模块时,您应该编写如下内容
var rp = require('request-promise');
const req = {
uri: uri,
method: 'GET'/'POST'
}
rp(req)
.then((res) => {
//Do something
})
.catch((error) => {
//Do something with error
});
请试试这个
let requestp=require('request-promise');
var options = {
method: 'POST',
url: 'uri',
resolveWithFullResponse: true,
headers: {
'Accept': 'application/json',
'Content-Type' : 'application/json'
},
body: TextedValue
};
await requestp(options).then(async function(Content){
await requestp(options).then(async function(response){
if (await response.statusCode == 200)
{
console.log(Content); // in ur case it is body
}
else
{
console.log("Response code "+response.statusCode+" .Try Again Later")
}
})
})
等等,您是否使用正确的
请求模块?我想你不是。您正在使用的版本不支持承诺
,因此您不能在此处使用解析
。如果你想用一个有承诺的,那就是=>。清楚地阅读文档并理解差异如果你写了一个答案,然后解释你改变了什么以及为什么,不要只写,请尝试这个,这真的很有帮助,因为你需要搜索已经改变的内容。