我试图使用anuglarjs http GET请求从我的Rest API控制器获取数据。但是,我需要发送的参数包括"。"导致URL失败的符号。我试着对它进行编码,但它不起作用。这是我做的:
function getApplication($http) {
this.getData = function(application,name) {
return $http({
method : 'GET',
url : http://localhost:8080/app/rest/+ 'app/' + encodeURIComponent(name)
}).then(function successCallback(response) {
return response.data;
}, function errorCallback(response) {
console.log(response.statusText);
});
}
}
名称参数为app.01.com
我得到的网址结果是:
GET http://localhost:8080/app/rest/app/app.01.com 406 (Not Acceptable)
任何人都知道如何编码网址,以便我可以从Rest Controller获取数据? 感谢
答案 0 :(得分:2)
使用btoa和atob
function getApplication($http) {
this.getData = function(application,name) {
return $http({
method : 'GET',
url : http://localhost:8080/app/rest/+ 'app/' + window.btoa(name)
}).then(function successCallback(response) {
return response.data;
}, function errorCallback(response) {
console.log(response.statusText);
});
}
}

.
答案 1 :(得分:0)
您是否尝试将网址数据放入双引号? 网址:" http://localhost:8080/app/rest/+' app /' + encodeURIComponent(name)"
答案 2 :(得分:0)
不可能"。"是一个未保留的字符,并且在替换未保留字符时使用其对应的百分比编码的US-ASCII八位字节的URI是等效的"。因此,/%2E与/相同。 ,这将被规范化。
然后您可以使用localhost:8080/app/rest/app/app%2E01.com
作为您的网址