Javascript 获取 Flask json

2024-02-26

所以我试图将 Flask 服务器连接到前端创建反应应用程序。现在我只想验证我是否可以在两者之间发送 json。下面是每个错误的代码以及更多关于错误的描述。

创建 React App 获取

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 控制台中)-

输入意外结束(...)

我可以在 Chrome 的“网络”选项卡中看到 json,它似乎在解析时出错。

纠结这是否是一个 Flask 语法错误(即没有正确发送)、一个 JavaScript 解析错误(即我犯了一些我看不到的简单错误),还是一个我不明白的 create React 应用程序错误。


您很可能没有在 Flask 应用程序中启用 CORS。 CORS 代表跨源资源共享,它允许 python web 应用程序说“好的,我们与浏览器共享”。无论如何,解决方案应该是这样的。

在终端/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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 获取 Flask json 的相关文章

随机推荐