gpt4 book ai didi

angularjs - 发送保留字符作为 URL 参数值

转载 作者:可可西里 更新时间:2023-11-01 16:37:01 26 4
gpt4 key购买 nike

我必须按原样发送参数值 'AbCd/EfgH'。但是 Angular 将 '/' 转义为 %2F。我无法控制 URL

解决这个问题的最佳方法是什么?

我不想强制 Angular 停止对所有其他 URL 进行编码。

$http.get(URL, {
params: {
emv_ref: 'AbCd/EfgH',
email: email
}
});

最佳答案

Angular URL 对所有参数进行编码,您不能只从这个过程中排除一个。您只需要手动编写带有必要参数的 URL。使用方便$httpParamSerializer序列化您的部分参数并将未编码附加到参数字符串的服务:

var params = $httpParamSerializer({email: email}) + '&emv_ref=AbCd/EfgH';
$http.get(URL + '?' + params);

或者更简洁的方法是使用自定义 paramSerializer功能:

$http.get(URL, {
paramSerializer: function(params) {
return $httpParamSerializer({email: email}) + '&emv_ref=AbCd/EfgH';
}
});

.. 或者像这样:

$http.get(URL, {
params: {
email: email,
emv_ref: 'AbCd/EfgH'
},
paramSerializer: function(params) {
var ref = '&emv_ref=' + params.emv_ref;
delete params.emv_ref;
return $httpParamSerializer(params) + ref;
}
});

关于angularjs - 发送保留字符作为 URL 参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34285300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com