【发布时间】:2016-11-26 16:40:25
【问题描述】:
我对@987654321@ 的 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 是的,总是“未定义”
-
尝试同时记录
err和res- 这可能意味着发生了错误。 -
Error: socket hang up这是err的输出 -
感谢@Aurora0001的支持
标签: javascript json ajax node.js npm