Python Flask获取带空格的URL参数

时间:2017-12-20 13:12:59

标签: python flask

我的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);
      }

1 个答案:

答案 0 :(得分:1)

showMapMarker(cmpname)将被调用,cmpname设置为路由'/getLatLong/<cmpname>'中给出的值。然后,您可以在请求参数中使用该值进行查找,如果请求没有此参数,则会导致None。因此,要不返回None,请求URL必须如下所示:

http://example.com/getLatLong/ham?ham=spam

现在search将是字符串spamham可以由调用者自由选择。我不认为这是你的意图,你可能只想使用传递给函数的cmpname参数。