根据Json

时间:2017-04-26 04:01:43

标签: python json reactjs flask axiom

我有一个使用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 -

0 个答案:

没有答案