Flask没有从AJAX调用中获取URL参数

时间:2014-05-18 13:11:24

标签: jquery python ajax flask

我提交了一个字符串,想要从服务器上取回它。问题似乎是Flask的请求模块没有获取URL参数 - 即我得到" HELLO"而不是字符串变量。

顺便说一句,console.log(状态)未定义,我不确定这是否相关。

这是HTML ...

<html>
<script type="text/javascript" src= "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js"></script>
<form>
    <input id = "entered_string" name = "string">
    <input type = "button" value = "submit" id = "submit_button">
</form>

<div id = "result">?</div>

<script>
$("#submit_button").bind("click", function(data, status){
    var string = $("#entered_string").val()
    console.log(string)
    console.log(data)
    console.log(status)
    $.get('/upper_case', function(string){
        console.log(string)
        $("#result").text(string.result)
        })
    })
</script>
</html>

和服务器代码......

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

@app.route('/upper_case')
def upper():
    print request.args
    string = request.args.get('string', "hello", type=str)
    print string
    return jsonify(result = string)

1 个答案:

答案 0 :(得分:1)

不知道你期望什么,bind的回调作为参数?只有一个event

您必须将字符串发送到服务器:

$.get('/upper_case', {string:string}, function(string){
    console.log(string)
    $("#result").text(string.result)
    })