【问题标题】:Node request module - sample get request failing节点请求模块 - 示例获取请求失败
【发布时间】:2019-02-09 01:10:40
【问题描述】:

模糊地遵循这个“教程”:https://stackabuse.com/the-node-js-request-module/

我收到警报('Options Declared'),但随后我的程序在请求处停止,我不知道为什么。

const request = require('request');
function testGet(){

    alert("Get test started");

    const options = {  

        url: "https://www.reddit.com/r/funny.json",
        method: 'GET',
        headers: {
            'Accept': 'application/json',
            'Accept-Charset': 'utf-8',
            'User-Agent': 'my-reddit-client'

        }
    }

    alert("Options declared");

    request(options, function(err, res, body){

        let json = JSON.parse(body);
        console.log(json);

    });

    alert("Get test done");
}

【问题讨论】:

  • 你能在请求中控制台错误吗.. 我的意思是放一个 console.log(err) 并在这里分享
  • 它不应按要求停止。它将继续并打印“完成测试”。还有,你是如何执行警报的?你写过自定义方法console.log吗?

标签: javascript node-request get-request


【解决方案1】:

只需将响应和错误作为响应对象发送,然后看看会发生什么。

const request = require('request');
    function testGet(){

        alert("Get test started");

        const options = {  

            url: "https://www.reddit.com/r/funny.json",
            method: 'GET',
            headers: {
                'Accept': 'application/json',
                'Accept-Charset': 'utf-8',
                'User-Agent': 'my-reddit-client'

            }
        }

        alert("Options declared");

        request(options, function(err, res, body){
          res.json({err : err, result: body});
        });
    }

【讨论】:

    【解决方案2】:

    您将请求函数声明和主体放在 testGet() 中。

    请像这样在 testGet() 之外执行此操作。

    function testGet(){
      alert("Get test started");
    
      const options = {  
    
        url: "https://www.reddit.com/r/funny.json",
        method: 'GET',
        headers: {
            'Accept': 'application/json',
            'Accept-Charset': 'utf-8',
            'User-Agent': 'my-reddit-client'
    
        }
      }
    
      alert("Options declared");
    
      request.post(options, callback);
    }
    
    request(options, function(err, res, body) {  
        let json = JSON.parse(body);
        console.log(json);
        alert("Get test done");
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-10
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-05
      • 1970-01-01
      相关资源
      最近更新 更多