我在做什么
我正在构建对服务的查询。我使用 ajax 查询服务并获得 JSON 格式的响应。
我正在查询 Google map API 服务。 Reverse Geocoding
这是一个示例查询:
http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false
您可以看到查询参数是latlng
和sensor
。
latlng
查询参数中有一个逗号。
让我们看一些代码
// Some vars
var googleEndpoint = "http://maps.googleapis.com/maps/api/geocode/json";
// Bind handler to form submission
$('#theQuery').submit(function() {
var lat = $("#lat").val();
var _long = $("#long").val();
// Construct Query
$.get(googleEndpoint, { sensor: true, latlong: lat + ',' + _long }, function (data) {
console.log(data);
});
return false;
});
如果我运行查询,我的查询如下所示:
http://maps.googleapis.com/maps/api/geocode/json?sensor=true&latlong=44%2C44
我的想法
您可以看到逗号是%2C
。我知道这是由于在 jquery 构建查询字符串时对参数调用 encodeURIComponent
造成的,但我不知道如何标记该逗号以使其不会被编码。我尝试过 unescape()
。
我知道我在这里遗漏了一些东西,有什么帮助吗?
最佳答案
关于javascript - 强制对 ajax 查询参数进行转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16973881/