нет связи между JQuery и Python колбу Def - PullRequest
0 голосов
/ 09 февраля 2019

Я работаю над веб-проектом, используя jquery.Я пытаюсь добавить серверный слой в проект с использованием фляги в python 3.6.

Я получаю "ошибку 404" (не найдена)

Я думаю, моя проблема начинается с отсутствиясвязывание между jquery и get get JSON.

уже объявили маршрут приложения, но я не уверен, правильно ли я это сделал.

$(function() {
           $('a#process_input').bind('click', function() {
            $.getJSON('/background_process', {
              proglang: $('input[name="proglang"]').val(),
            }, function(data) {
              $("#result").text(data.result);
            });
            return false;
           });
         });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
HTML

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="jquery-3.3.1.min.js"></script>
</head>

<body>

    <div class="div_list_con">
            <h3>Welcome! enter a name?</h3>
                <form>
                    <input type=text size=5 name=proglang>
                    <a href=# id=process_input><button class='btn btn-default'>Submit</button></a>
                </form>
            <p id=result></p>
    </div>

</body>
</html>
from flask import Flask, render_template, request, redirect, Response, jsonify
import random, json

app = Flask(__name__)


@app.route('/')
def interactive():

   return render_template('org_structure.html')


@app.route('/background_process')
def background_process():


   try:


      lang = request.args.get('proglang', 0, type=str)

      if lang.lower() == 'python':

         return jsonify(result='You are wise')

      else:

         return jsonify(result='Try again.')

   except Exception as e:

      return str(e)

1 Ответ

0 голосов
/ 10 февраля 2019

Я попробовал этот код, и он работает, перейдите по ссылке для дальнейших изменений в колбе

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="jquery-3.3.1.min.js"></script>
</head>

<body>

    <div class="div_list_con">
            <h3>Welcome! enter a name?</h3>
                <form action="/background_process" method="post">
                    <input type=text size=5 name=proglang>
                    <a href=# id=process_input><button class='btn btn-default'>Submit</button></a>
                </form>
            <p id=result></p>
    </div>

</body>
</html>

Колба app.py

 @app.route('/background_process',methods = ['POST', 'GET']) 
    def background_process(): 
       if request.method == 'POST': 
          user = request.form['proglang']
          print(user)
       return jsonify(username=user)

Вы забыли упомянуть метод POST или GET для метода колбы, так что причина его выдает ошибку 404

...