2016-12-24 95 views
0

这可能是一件简单的事情,但由于某种原因我无法弄清楚。在同一个网页上,我想将点击的单词以HTML格式发送到服务器,并让服务器将其发回并警告该单词。如何发送和接收来自服务器的数据:python/flask/ajax/json GET POST请求

在烧瓶.py文件,我有这样的(它曾经看起来不同,更合理的,但现在IDK的什么,我甚至做):

@app.route('/render/', methods=['GET']) 
def render(): 

if request.method == "GET": 
    jsondata = request.get_json() 
    query_string = request.query_string 
    #data = json.loads(jsondata) 
    print(query_string) 
    if query_string != None: 
     print(query_string) 
    return render_template('read.html', yup=jsondata) 

的Javascript/HTML端,客户端发送徘徊,上字(我知道该服务器发现它,例如,"GET /render/?%22whats%22 HTTP/1.1" 400 -,但它并不完全取回或发送回来。

$("#readMain").delegate("span", "mouseenter", function() { 

var toSend = $(this).text(); 

$.ajax({ 
    url: window.location.href, 
    type: 'GET', 
    data: JSON.stringify(toSend), 
    contentType: 'application/json; charset=UTF-8', 
}); 

$("#readMain").delegate("span", "click", function() { 
    var jsonStr = JSON.stringify('{{yup}}'); 
    alert(jsonStr);}); 

怎么办?请帮帮忙!

+0

是否有什么特别的原因,你为什么不发送json作为'POST'请求​​? – danidee

回答

1

如果你用得到的是客户端,您必须对服务器上的服务器 request.get_json使用request.args中。当您在客户端

上使用POST为GET方法,必须使用类似的东西:

from flask import Flask, jsonify, request 

app = Flask(__name__) 

@app.route("/") 
def hello(): 
    all_args = request.args.lists() 
    return jsonify(all_args) 

POST方法;这样的事情:

if request.mimetype == 'application/json': 
    res = request.get_json() 
else: 
    res = request.form 
相关问题