节点请求模块-样本获取请求失败

时间:2018-09-04 04:37:33

标签: javascript node-request get-request

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

我收到警报(“已声明选项”),但随后程序在请求时停止,我不知道为什么。

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");
}

2 个答案:

答案 0 :(得分: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});
        });
    }

答案 1 :(得分:0)

您将请求函数声明和主体放在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");
});