我提交了一个字符串,想要从服务器上取回它。问题似乎是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)
答案 0 :(得分:1)
不知道你期望什么,bind
的回调作为参数?只有一个event
。
您必须将字符串发送到服务器:
$.get('/upper_case', {string:string}, function(string){
console.log(string)
$("#result").text(string.result)
})