【问题标题】:Unexpected toke u NodeJs意外的令牌 u NodeJs
【发布时间】:2016-11-26 16:40:25
【问题描述】:

我对@9​​87654321@ 的 http 请求有问题, 如果用 $.ajax 正常调用请求,它的效果很好,如果我用 ajax-request 模块调用请求也会给我输出:

SyntaxError: Unexpected token u in JSON at position 0
    at Object.parse (native)
    at ClientRequest.<anonymous> (/Users/rawnly/Documents/Github/weather/forecast.js:11:21)
    at emitOne (events.js:96:13)
    at ClientRequest.emit (events.js:188:7)
    at Socket.socketOnEnd (_http_client.js:346:9)
    at emitNone (events.js:91:20)
    at Socket.emit (events.js:185:7)
    at endReadableNT (_stream_readable.js:974:12)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)

这里是代码

const request = require('ajax-request');
const token = "**********";
const chalk = require('chalk');

request({
  url: `https://api.darksky.net/forecast/5884bb7f746da897d43f2189e5f3221a/49,12`,
  method: "GET",
  data: {
     format: "json"
  },
}, function(err, res, body) {
  if ( err ) {
    console.log( chalk.red(err) );
  }
  if ( res ) {
    console.log( chalk.red(res) );
  }

  if ( body !== undefined ) {
    var data = body ? JSON.parse(body) : body;
    console.log(data); // the output is undefined... :(
  }
});

 

提前感谢您的帮助。

编辑:错误输出是 => Error: socket hang up

 在标记为重复之前

我已经看到this 问题和其他问题,但不起作用...

【问题讨论】:

  • 您是否尝试过console.log(body) 来查看 API 是否返回了您期望的结果?
  • @Aurora0001 是的,总是“未定义”
  • 尝试同时记录errres - 这可能意味着发生了错误。
  • Error: socket hang up 这是err的输出
  • 感谢@Aurora0001的支持

标签: javascript json ajax node.js npm


【解决方案1】:

解决方案:正如@Aurora0001 所建议的,我已经尝试使用another library,它工作正常。

【讨论】:

    猜你喜欢
    • 2016-12-12
    • 2021-05-29
    • 1970-01-01
    • 2018-08-09
    • 2014-06-06
    • 1970-01-01
    • 2021-08-20
    • 1970-01-01
    • 2016-09-04
    相关资源
    最近更新 更多