从Vue.js向烧瓶发送POST请求

时间:2019-08-06 09:05:13

标签: javascript vue.js flask vue-component

我想从Vue组件向Flask后端发送POST请求。 我尝试了以下代码:

在script.js中:

finishGame: function () {
      this.gameStarted = false;
      this.$http.post("http://127.0.0.1:5000/", "hello")
          .then(function () {
            alert("POST")
          });
    },

在app.py中:

from flask import Flask, render_template
from flask_cors import CORS
from model.words import Words

# Set up custom delimiters to avoid Vue.js conflict.
class CustomFlask(Flask):
  jinja_options = Flask.jinja_options.copy()
  jinja_options.update(dict(
    block_start_string='(%',
    block_end_string='%)',
    variable_start_string='((',
    variable_end_string='))',
    comment_start_string='(#',
    comment_end_string='#)',
  ))

app = CustomFlask(__name__)
CORS(app)

word_gen = Words("model/word_lists/onegin.csv")


@app.route('/',  methods=['POST'])
def save_game_results():
    print("Game res!")
    return render_template('index.html', words=word_gen.get_random(500), words_num=word_gen.size())


@app.route('/')
def play_hat():
    return render_template('index.html', words=word_gen.get_random(500), words_num=word_gen.size())

该脚本包含更多代码,但是肯定运行finishGame函数,并且仅忽略以this.$http开头的部分。该代码不会产生任何错误,但是在调用save_game_results()时永远不会调用finishGame()

我已经尝试过:

  1. "http://127.0.0.1:5000/"代替"/"
  2. "http://127.0.0.1:5000/""http://127.0.0.1:5000/go"替换@app.route('/', methods=['POST'])@app.route('/go', methods=['POST'])

它没有用。

0 个答案:

没有答案