我正在使用JavaScript向房地产API发出请求。我发送了一个街道地址,它会向我发回有关该物业的信息。它适用于大多数地址。但是,它不适用于地址中包含句点的地址(街道=美国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'
})
答案 0 :(得分:3)
尝试使用encodeURIComponent()
...如果标点符号是罪魁祸首,那就应该纠正它。
// compile data for API query
function data(address, locale) {
dataObj.Key = ...;
dataObj.Address = encodeURIComponent(address); // <-- Right here
dataObj.LastLine = locale.toString();
...
compileRequest(dataObj);
}