Javascript 取烧瓶 json
Javascript fetch flask json
所以我正在尝试将 Flask 服务器连接到前端创建 React 应用程序。现在我只想验证我可以在两者之间发送 json 。下面是每个错误的代码和更多的错误描述。
创建 React 应用获取
import React, { Component } from 'react';
import './App.css';
export default class App extends Component {
constructor() {
super()
this.state = {
pyResp: []
}
}
fetchHelloWorld() {
console.log("fetching python localhost");
fetch('http://localhost:5000/', {
method: 'GET',
mode:'no-cors',
dataType: 'json'
})
.then(r => r.json())
.then(r => {
console.log(r)
this.setState({
pyResp: r
})
})
.catch(err => console.log(err))
}
render() {
return (
<div className="App">
<h1>Blockchain Voter</h1>
<p>
{this.state.pyResp}
</p>
<button onClick={() => this.fetchHelloWorld()}>Python</button>
</div>
);
}
}
烧瓶服务器
from flask import *
from json import *
app = Flask(__name__)
@app.route('/')
def hello_world():
jsonResp = {'jack': 4098, 'sape': 4139}
print(jsonify(jsonResp))
return jsonify(jsonResp)
if __name__ == '__main__':
app.run(debug=True)
我收到此错误(在 chrome 控制台中)-
Unexpected end of input(…)
我可以在 Chrome 的“网络”选项卡中看到 json,它似乎在解析时出错。
不知道这是 flask 语法错误(即未正确发送)、javascript 解析错误(即我犯了一些我看不到的简单错误),还是 create react我不明白的应用程序错误。
您的 Flask 应用程序很可能没有启用 CORS。 CORS 代表跨源资源共享,它允许 python webapps 说好我们共享或浏览器或其他。无论如何,解决方案应该是这样的。
在terminal/bash$ pip install -U flask-cors
在您的应用中
from flask import *
from json import *
from flask_cors import CORS, cross_origin
app = Flask(__name__)
CORS(app)
@app.route('/')
def hello_world():
jsonResp = {'jack': 4098, 'sape': 4139}
print(jsonify(jsonResp))
return jsonify(jsonResp)
if __name__ == '__main__':
app.run(debug=True)
所以我正在尝试将 Flask 服务器连接到前端创建 React 应用程序。现在我只想验证我可以在两者之间发送 json 。下面是每个错误的代码和更多的错误描述。
创建 React 应用获取
import React, { Component } from 'react';
import './App.css';
export default class App extends Component {
constructor() {
super()
this.state = {
pyResp: []
}
}
fetchHelloWorld() {
console.log("fetching python localhost");
fetch('http://localhost:5000/', {
method: 'GET',
mode:'no-cors',
dataType: 'json'
})
.then(r => r.json())
.then(r => {
console.log(r)
this.setState({
pyResp: r
})
})
.catch(err => console.log(err))
}
render() {
return (
<div className="App">
<h1>Blockchain Voter</h1>
<p>
{this.state.pyResp}
</p>
<button onClick={() => this.fetchHelloWorld()}>Python</button>
</div>
);
}
}
烧瓶服务器
from flask import *
from json import *
app = Flask(__name__)
@app.route('/')
def hello_world():
jsonResp = {'jack': 4098, 'sape': 4139}
print(jsonify(jsonResp))
return jsonify(jsonResp)
if __name__ == '__main__':
app.run(debug=True)
我收到此错误(在 chrome 控制台中)-
Unexpected end of input(…)
我可以在 Chrome 的“网络”选项卡中看到 json,它似乎在解析时出错。
不知道这是 flask 语法错误(即未正确发送)、javascript 解析错误(即我犯了一些我看不到的简单错误),还是 create react我不明白的应用程序错误。
您的 Flask 应用程序很可能没有启用 CORS。 CORS 代表跨源资源共享,它允许 python webapps 说好我们共享或浏览器或其他。无论如何,解决方案应该是这样的。
在terminal/bash$ pip install -U flask-cors
在您的应用中
from flask import *
from json import *
from flask_cors import CORS, cross_origin
app = Flask(__name__)
CORS(app)
@app.route('/')
def hello_world():
jsonResp = {'jack': 4098, 'sape': 4139}
print(jsonify(jsonResp))
return jsonify(jsonResp)
if __name__ == '__main__':
app.run(debug=True)