javascript - 强制对 ajax 查询参数进行转义

标签 javascript jquery ajax urlencode url-encoding

我在做什么

我正在构建对服务的查询。我使用 ajax 查询服务并获得 JSON 格式的响应。

我正在查询 Google map API 服务。 Reverse Geocoding

这是一个示例查询:

http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false

您可以看到查询参数是latlngsensor

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()

我知道我在这里遗漏了一些东西,有什么帮助吗?

最佳答案

您可以尝试使用

encodeURI()

它不会转义逗号

关于javascript - 强制对 ajax 查询参数进行转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16973881/

相关文章:

javascript - 无法更新 jQuery 中文本框的值

javascript - 如何在循环中将字符串追加到字符串?

javascript - 按键时滚动到元素

javascript - 使用jquery从html选择框中计算实数

javascript - 溢出容器的滚动定位

jquery - 是否可以使此导航仅适用于 css 并删除 jquery?

javascript - 可清除的输入代码未按预期工作

javascript - 从 html 字段中获取输入并将其存储在 JSON 对象中(很多输入字段)

php - 使用 jQuery 更改图像 src。 (不适用于火狐浏览器)

javascript - 垂直滚动视差背景效果