我在做什么
我正在构建对服务的查询。我使用 ajax 查询服务并获得 JSON 响应。
我正在查询 Google 地图 API 服务。反向地理编码
这是一个示例查询:
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
。我知道这是由于encodeURIComponent
在 jquery 构建查询字符串时调用了参数,但我不知道如何标记该逗号以便它不会被编码。我试过了unescape()
。
我知道我在这里遗漏了一些东西,有什么帮助吗?