2017-03-14 16 views
0

こんにちは、私はチャットタイプのモジュールを実装しようとしています。データを取得するHTMLページのフロントエンド。得られたデータはPythonフラスコに渡されます。最後に、処理されたデータを同じHTMLページにポストバックする必要があります。HTMLからデータを取得し、同じHTMLでFlaskとPOSTを使用してPythonで処理する

私はデータを取得することができます。しかし、同じHTMLページに戻すことはできません。

次のHTMLコード

<html> 
<head> 
<meta charset="UTF-8"> 
<script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 
<script> 
function ajaxcall(){ 
var p_name = $('#p_name').val(); 
var p_email = $('#p_email').val(); 

    $.post("http://127.0.0.1:5000/getdata?chatbox="+p_name); 
    } 
</script> 
</head> 
<form action="" method="POST" name='chat'> 
    <div> 
    {{text_typed}} 
    </div> 
    Enter Chat: <textarea id="p_name" name="chatbox" rows="4" cols="50"></textarea> 
    <input type="button" onclick="ajaxcall()" value="submit me!" /> 
    <label name='get_test' id='get_test'></label> 
</form> 
</html> 

あるテキスト領域に入力された値は、{{text_typed}}に掲載されなければなりません。私は事前に

from flask import Flask, jsonify, request, render_template, flash, url_for, redirect #import objects from the Flask model 
app = Flask(__name__) #define app using Flask 

@app.route('/') 
def hello(): 
    print("hello") 
    return "Welcome to mychat.in" 

@app.route('/chat', methods=['GET', 'POST']) 
def chat(): 
    return render_template("getpost.html") 

@app.route('/getdata', methods=['GET', 'POST']) 
def getdata(): 
    print('hi') 
    text_typed = request.args.get('chatbox') 
    print(text_typed)   
    return render_template("getpost.html", text_typed = text_typed)# this is the line i am trying to post back in html 

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

おかげでこの

これが私のpythonフラスココーディングですを得ることができません[私はローカル環境でこれを行っております]。

答えて

1

更新あなたのJSコード:

$.post("http://127.0.0.1:5000/getdata?chatbox="+p_name); 

jQuery documentationによると、あなたは

$.post("http://127.0.0.1:5000/getdata?chatbox="+p_name, null, function(data) { 
Put your code to insert returned _data_ into the form here. 
}); 
としてそれを置く必要があります
関連する問題