Метод не разрешен. Метод не разрешен для запрошенного URL. Flask - PullRequest
0 голосов
/ 17 апреля 2020

Использовал следующее в cmd:

    set FLASK_APP=hello_app.py
    flask run --host=0.0.0.0

код: '' '

<input id="name-input" type="text"/>
<button id="name-button">Submit</button>
<p id="greeting"></p>

<script href="http://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
    $('#name-button').click(function(event){
        let message = {
            name: $('#name-input').val()
        }
        $.post('http://192.168.1.106:5000/hello', JSON.stringify(message), function(response){
            $('#greeting').text(response.greeting);
            console.log(response);
        });
    });
</script>

' ''

    from flask import Flask
    from flask import jsonify
    from flask import request

    app = Flask(__name__)
    @app.route('/hello', methods=['POST'])
    def hello():
        message = request.get_json(force=True)
        name = message['name']
         response = {
            'greeting':'Hello,' + name + '!'
        }
        return jsonify(response)

   if '__name__' == '__main__':
        app.run(debug=True)'''

Получил ошибку 405 во время работы. Уже пытался добавить 'GET' к методам, что привело к неправильному запросу. Кто-нибудь может помочь, пожалуйста?

1 Ответ

0 голосов
/ 17 апреля 2020

Измените методы на ['GET', 'POST']

@app.route("/home",methods=['GET','POST'])

THEN обработайте данные поста с помощью

if request.method=='POST':
    #handle post data here
else:
    #return a normal page
    return "home"

и измените последний, если ' name '==' main ': к этому if __name__ == '__main__':

РЕДАКТИРОВАТЬ: добавить свой код jsonify в раздел данных поста дескриптора

...