jquery ajax获取特殊字符(umlaute)

时间:2016-03-08 13:11:15

标签: javascript jquery ajax special-characters

我使用包含german umlaute(ä,ö,...)的字符串查询REST API

item.address = "1,Schönberg,5152,Michaelbeuern";
var url = Geo.url + 'geocode?query=' + item.address;
$.get(url,function(results,status) {
     console.log(url);
     console.log(results);
}

get函数返回一个空结果,但是当我在浏览器URL栏中直接输入console.log(url)输出时,它可以正常工作。

(当地址不包含任何变音时,ajax请求有效。这就是我认为这可能是问题的原因。)

1 个答案:

答案 0 :(得分:1)

您需要对您在查询字符串中传递的字符串进行编码。有几种方法可以做到这一点。您可以使用encodeURIComponent()

var url = Geo.url + 'geocode?query=' + encodeURIComponent(item.address);

或者你可以为$.get提供一个jQuery将为你编码的对象:

$.get(Geo.url + 'geocode', { query: item.address }, function(results, status) {
    console.log(results);
});

我个人会建议后者。