我的Javascript帖子网址如下所示,其中%20位于空格之间,当我尝试使用Flask访问此网址时,搜索变量显示为类型无。
我是否在showMapMArker()函数中正确解析了url参数cmpname,不确定。
POST /getLatLong/Ogden%20UT%20844
的Python:
@app.route('/getLatLong/<cmpname>',methods=['GET','POST'])
def showMapMarker(cmpname):
# print("Inside ShowMarker")
search = request.args.get(cmpname)
//do something with search string
return jsonify(search)
使用Javascript:
function myFunction() {
var cmpCanName = document.getElementById("autocomplete").value;
var cmpCanAddress = document.getElementById("autocompletetwo").value;
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "/getLatLong/"+cmpCanAddress, true);
xhttp.setRequestHeader("Content-type", "application/json");
xhttp.send();
var response = JSON.parse(xhttp.responseText);
}
答案 0 :(得分:1)
showMapMarker(cmpname)
将被调用,cmpname
设置为路由'/getLatLong/<cmpname>'
中给出的值。然后,您可以在请求参数中使用该值进行查找,如果请求没有此参数,则会导致None
。因此,要不返回None,请求URL必须如下所示:
http://example.com/getLatLong/ham?ham=spam
现在search
将是字符串spam
,ham
可以由调用者自由选择。我不认为这是你的意图,你可能只想使用传递给函数的cmpname
参数。