javascript - 对 API 调用中的标点符号进行编码

标签 javascript jquery api

我正在使用 JavaScript 向房地产 API 发出请求。我发送街道地址,它会发回有关该特性的信息。它适用于大多数地址。但是,它不适用于地址中包含句点的地址(街道 = U.S. 395),我想知道该标点符号是否将其丢弃,如果是,如何正确编码。

// grab address from html
function getAddress() {
    address = $('.js-pma-address').val();
    address = $.trim(address);
    ...
    data(address, locale);
}


// compile data for API query
function data(address, locale) {
    dataObj.Key = ...;
    dataObj.Address = address;
    dataObj.LastLine = locale.toString();
    ...
    compileRequest(dataObj);
}

// create url for API request
function compileRequest(dataObj) {
    var request = 'http://rc.api.sitexdata.com/sitexapi/sitexapi.asmx/AddressSearch?';
    request += $.param(dataObj);
    runQueries(request);
}

// run api query 
function runQueries(request) {
    $.ajax({
    url: 'lp/proxy.php',
    data: {requrl: request + '&reportType=187'},
    dataType: 'xml'
    })

最佳答案

尝试使用 encodeURIComponent()...如果标点符号是罪魁祸首,那么应该纠正它。

// compile data for API query
function data(address, locale) {
    dataObj.Key = ...;
    dataObj.Address = encodeURIComponent(address);  // <-- Right here
    dataObj.LastLine = locale.toString();
    ...
    compileRequest(dataObj);
}

关于javascript - 对 API 调用中的标点符号进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21193352/

相关文章:

javascript - Angular .js : How to get orderBy or filter from an unordered list to work?

javascript - 与 .closest() .siblings() .find() 混淆

jquery - 单击 - 导航前延迟

ruby-on-rails - 是否可以跨多个网络使用单个 Yammer API key

python - 如何让Open AI API返回部分文本结果?

php - 使用rest api创建post wordpress.com

javascript - 使用 React Hooks 根据之前的状态更改状态

javascript - 将文件夹中的所有图像包含在数组中的最佳方法是什么?

javascript - 数据未从 localStorage PHP 发布。 Angular

javascript - 在 .submit 中发送一个额外的参数