Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 请求参数节点JS 500错误_Javascript_Node.js_Ecmascript 6 - Fatal编程技术网

Javascript 请求参数节点JS 500错误

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

由于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&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")

                   }

                })

           })

等等,您是否使用正确的
请求
模块?我想你不是。您正在使用的版本不支持
承诺
,因此您不能在此处使用
解析
。如果你想用一个有承诺的,那就是=>。清楚地阅读文档并理解差异如果你写了一个答案,然后解释你改变了什么以及为什么,不要只写
,请尝试这个
,这真的很有帮助,因为你需要搜索已经改变的内容。