jquery ajax get special characters (umlaute)

jquery ajax get special characters (umlaute)

本文关键字:umlaute characters special ajax get jquery      更新时间:2023-09-26

我使用包含德语变音符号 (ä,ö,...) 的字符串查询 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 请求有效。这就是为什么我认为这可能是问题所在。

您需要对

在查询字符串中传递的字符串进行编码。有几种方法可以做到这一点。您可以使用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);
});

我个人建议后者。