我有一个使用Axiom在React应用程序中调用的Python Flask api。我在NameForm组件中使用以下代码来处理来自Flask api的请求。 从'react'导入React; 从'axios'导入axios;
class NameForm extends React.Component {
constructor(props) {
super(props);
this.state = {value: ''};
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleChange(event) {
this.setState({value: event.target.value});
}
handleSubmit(event) {
axios.get('http://127.0.0.1:5000/api/'+this.state.value,)
.then(function (response) {
console.log(response.data);
console.log(response.status);
})
.catch(function (error) {
console.log(error);
});
此代码有时不会返回任何内容,有时会根据我在后端生成的内容从Flask API返回内容。
这是我的后端代码。对于所有请求,我看到在后端发出请求并查看正在打印的数据。但是,对于某些请求,我没有看到任何返回到前端的内容。当我有第一个函数is_original时返回一些东西的请求,但是当我包含下面的其他函数时,我在前端看不到任何内容。我很困惑为什么一些json被退回而另一些json没有被退回。
import json
from flask import Flask
from flask import jsonify
from dog_matcher import *
app = Flask(__name__)
@app.route("/api/<name>")
def hello(name):
data = {}
name = name.capitalize()
data['is_original']= is_original(name, names_file[1:10])
data['meta_names']= get_metaphone_closest(name, names_file)
data['leven_names'] = get_levenshtein_closest(name, names_file)
data['jaro_names']= get_jaro_closest(name, names_file)
data['soundex']= get_soundex_closest(name, names_file)
print(data)
return jsonify(data)
if __name__ == "__main__":
app.run(debug=True)
在服务器上,从前端打印请求“Jim”的以下内容。前端没有返回任何内容。
{'meta_names':[(0,'Jaime'),(0,'Jammy'),(0,'Jamy'),(0,'Jayme'), (0,'Gim'),(0,'Gimmo'),(0,'Gimmy'),(0,'Gimo'),(0,'Jim'),(0, 'Jimmi')],'is_original':是的,'leven_names':[(1.0,'Jim'), (0.9166666666666666,'Jimy'),(0.8666666666666667,'Jaime'), (0.8666666666666667,'Jimbo'),(0.8666666666666667,'Jimmi'), (0.8666666666666667,'Jimmy'),(0.8333333333333334,'Jaimie'), (0.8095238095238096,'Jim-Jim'),(0.7777777777777777,'Gim'), (0.7777777777777777,'Kim')],'jaro_names':[(1.0,'Jim'), (0.9166666666666666,'Jimy'),(0.8666666666666667,'Jaime'), (0.8666666666666667,'Jimbo'),(0.8666666666666667,'Jimmi'), (0.8666666666666667,'Jimmy'),(0.8333333333333334,'Jaimie'), (0.8095238095238096,'Jim-Jim'),(0.7777777777777777,'Gim'), (0.7777777777777777,'Kim')],'soundex':[(0,'Jahn'),(0,'Jan'),(0, 'Jann'),(0,'Jean'),(0,'Jim'),(0,'Jin'),(0,'Jiwan'),(0, 'Johann'),(0,'John'),(0,'Jon')]} 127.0.0.1 - - [26 / Apr / 2017 00:08:26]“GET / api / Jim HTTP / 1.1”200 -