我目前正在创建一个应用程序,它使用 python 使用 Flask 将字典发送到我的 React 前端。即使我从后端返回有效的 JSON,我的前端也显示此错误:
JSON.parse:JSON 数据第 1 行第 1 列出现意外字符
任何帮助将不胜感激!
这是服务器.py
from flask import Flask
app = Flask(__name__)
@app.route("/members")
def members():
return {"members": ["Member1","Member2","Member3"]}
if __name__ == "__main__":
app.run(debug=True)
这是App.js
import React, {useState, useEffect} from 'react'
function App() {
const [data, setData] = useState([{}])
useEffect(() => {
fetch("/members").then(
res => res.json()
).then(
data => {
setData(data)
console.log(data)
}
)
}, [])
return (
<div>
</div>
);
}
export default App;
这是index.js
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
运行代码时,总是会出现以下错误:
未捕获的运行时错误: 错误 JSON.parse:JSON 数据第 1 行第 1 列出现意外字符 错误 JSON.parse:JSON 数据第 1 行第 1 列出现意外字符
当我的数据不是 JSON 格式时,会抛出此错误。
检查数据是否确实以预期格式返回。
您还可以确保返回的数据是有效的 JSON 格式,如下所示:
@app.route("/members")
def members():
return jsonify({"members": ["Member1", "Member2", "Member3"]})
希望有帮助。