我正在尝试django
使用“ReactJS”从 rest-framework API 获取数据,但我一直面临同样的错误:
SyntaxError:“JSON.parse:JSON 数据第 1 行第 1 列的意外字符”
我认为实际问题出在我的 API 中,因为我已经尝试了 3 种不同的方法将数据导入 React。也许有人知道我可以对我的 API 做些什么来使其工作?我正在使用djangorestframework
图书馆。API 如下所示:
{
"questions":"http://127.0.0.1:8000/api/questions/?format=json",
"choices":"http://127.0.0.1:8000/api/choices/?format=json"
}
我React
Component
用来检索数据的方法如下:
import React, { Component } from 'react';
class ApiFetch extends Component {
state = {
data: []
};
async componentDidMount() {
try {
const res = await fetch('127.0.0.1:8000/api/?format=json');
const data = await res.json();
this.setState({
data
});
console.log(this.state.data)
} catch (e) {
console.log(e); //SyntaxError: "JSON.parse: unexpected character at line 1 column 1 of the JSON data"
}
}
render() {
return (
<div>
{(this.state.data)}
</div>
);
}
}
export default ApiFetch;
API 的 Header 如下所示:
allow →GET, HEAD, OPTIONS
content-length →123
content-type →application/json
date →Fri, 17 Aug 2018 11:01:36 GMT
server →WSGIServer/0.2 CPython/3.6.3
vary →Accept, Cookie
x-frame-options →SAMEORIGIN
我用我的客户端尝试了以下示例 API,它工作正常: https ://jsonplaceholder.typicode.com/todos/1
所以关于 djangorestframework 和我的客户的东西一定是不兼容的。