gpt4 book ai didi

javascript - JSON 中位置 0 的意外标记 <

转载 作者:行者123 更新时间:2023-12-05 03:10:46 25 4
gpt4 key购买 nike

如果我执行 curl,服务器会返回一组帖子对象,如下所示:

curl http://localhost/api/posts/
[
{
"id": 7,
"target": {
"body": "This is the body",
"title": "Airbnb raising a reported $850M at a $30B valuation",
"user": {
"first_name": "ben",
"last_name": "jamin"
}
}
},
{
"id": 11,
"target": {
"body": "This is the body",
"title": "Browsing the APISSS",
"user": {
"first_name": "user",
"last_name": "two"
}
}
}
]

我尝试使用 fetch api 获取它:

fromServer() {
console.log('fromServer')
var headers = new Headers();
headers.append('Accept', 'application/json');
let a = fetch('http://test.com/api/posts/', headers)
.then(function(response) {
if (response.status !== 200) {
console.log('There was a problem. Status Code: ' + response.status);
return;
}

response.json().then(function(data) {
console.log(data);
});
}
)
.catch(function(err) {
console.log('Fetch Error :-S', err);
});
}

但是我收到了这个错误:

Unexpected token < in JSON at position 0

SyntaxError: Unexpected token < in JSON at position 0

我该如何解决这个问题?请你帮助我好吗。谢谢。

最佳答案

很明显,您在将响应解析为 json 对象时存在一些语法错误。

如果有的话,从服务器 json 文件中删除所有评论。

如果不是:我相信响应主体不是 json。

您正在从服务器接收返回的 HTML(或 XML),但代码可以解析为 JSON。检查 Chrome 开发工具中的“网络”选项卡以查看服务器响应的内容。

或使用此代码进行调试:(如“Jaromanda X”所说)

.then(function(response) {
console.log(response);
console.log(response.status);
console.log(response.json());
console.log(response.text());
})
.catch(function(err) {
console.log('Fetch Error :-S', err);
});

关于javascript - JSON 中位置 0 的意外标记 <,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38821751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com