我正在学习节点,我正在尝试使用Spotify API搜索并返回艺术家。页面加载和所有内容,但是当我尝试搜索时,我收到此错误
true
经过一番挖掘,我发现我得到这个错误的原因是由于:
undefined:1
<html>
^
SyntaxError: Unexpected token <
at Object.parse (native)
at IncomingMessage.<anonymous> (/Users/edwinzhang/Node_Courses/spotify-recommend/server.js:23:25)
at IncomingMessage.EventEmitter.emit (events.js:117:20)
at _stream_readable.js:920:16
at process._tickCallback (node.js:415:13)
在var searchReq = http.get(options, function(response) {
response.on('data', function(chunk) {
item += chunk;
console.log(item);
});
response.on('end', function() {
console.log('end');
console.log(item);
item = JSON.parse(item);
emitter.emit('end', item);
});
response.on('error', function() {
emitter.emit('error');
});
});
中,chunk正在返回
response.on('data', function(chunk) ...
请求的路径是(假设)api.spotify.com/v1/search?q=sam&limit=1&type=artist。有谁知道我为什么会收到这个错误?谢谢!
答案 0 :(得分:1)
所以我决定坐下来激发IntelliJ,看看你的问题。我不确定原因(Node不是我的主要开发平台),但是,这是一个http / https问题。更精通节点的人将不得不解释。
如果我切换到包含https,它会按预期工作。
不幸的是,我不知道&#34;为什么&#34;它的。自从我在节点工作以来已经有一段时间了,所以我有点生气,但至少有一个可行的解决方案。
关注:
默认情况下,http似乎不会遵循重定向。您必须使用请求模块,并且可以设置一个选项以指定遵循重定向。