【发布时间】:2018-10-02 18:45:00
【问题描述】:
我正在使用 npm request 向 cryptonator api 发出请求,但是当我想使用从请求返回的数据来呈现我的主页时,它会注销语法错误。
我的代码
router.get('/dashboard', isLoggedIn, function(req,res){
request('https://api.cryptonator.com/api/ticker/btc-usd', function(err,response,body){
if(!err && response.statusCode == 200){
var data = JSON.parse(body);
res.render('dash-web/home', {crypto: data})
}
})
})
错误
<!DOCTYPE html>
^
SyntaxError: Unexpected token < in JSON at position 0
at Object.parse (native)
at Request._callback (/home/ubuntu/workspace/bitcoin.1/main/routes/dashboard.js:61:29)
at Request.self.callback (/home/ubuntu/workspace/bitcoin.1/main/node_modules/request/request.js:186:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request.<anonymous> (/home/ubuntu/workspace/bitcoin.1/main/node_modules/request/request.js:1163:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage.<anonymous> (/home/ubuntu/workspace/bitcoin.1/main/node_modules/request/request.js:1085:12)
at IncomingMessage.g (events.js:292:16)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
【问题讨论】:
-
您正在尝试将 HTML 解析为 JSON。
-
kk 谢谢你提供的信息,我能做些什么来防止错误发生@Colin
-
为了帮助您调试,您实际上可以呈现您意外收到的 HTML - 它可能会提示您正在发生什么。
-
我正在使用 ejs,对此我真的很陌生,如果您能提供帮助,我会很高兴,但我无法弄清楚错误来自thanks@paul跨度>
-
删除
var data = JSON.parse(body);行并将下一行替换为res.send(data);- 它应该会显示您意外收到的页面
标签: json node.js express request