url参数包含中文,利用 requestId 生成新的 url就会有问题
firecolen opened this issue · 5 comments
firecolen commented
//利用 requestId 生成新的 url
_KKJSBridgeXHR.generateNewUrlWithRequestId = function (url, requestId) {
...
var search = aTag.search ? aTag.search : "";
...
url = orignAction.replace(search, "").replace(hash, "");
.....
var newAction = url + aTag.search + aTag.hash;
return newAction;
};
如果url的参数包含中文,search拿到的是编码后的数据,replace替换方法就不起作用,客户端拿到的url就存在2个?
karosLi commented
你是 POST 包含中文参数?
firecolen commented
GET请求,例如http://aa.com?city=北京
karosLi commented
你有试过 URLEncode 吗
firecolen commented
用URLEncode可以解决问题,但是旧项目很多地方存在这种请求,只能在KKJSBridgeAJAXProtocolHook.js统一处理,
var orignAction = encodeURI(decodeURI(url));
这样是否能解决问题呢?
firecolen commented
用URLEncode可以解决问题,但是旧项目很多地方存在这种请求,只能在KKJSBridgeAJAXProtocolHook.js统一处理,
var orignAction = encodeURI(decodeURI(url));
这样是否能解决问题呢?