我们正在使用jquery ajax来进行服务调用:
$.ajax({
url: _sbUrl + "gates/1.0/sweeps/getVehicleDetails/" + request.data.regn_no,
method: "GET",
success: function(response) {
if (200 === response.statusCode) {
if (typeof callback === 'function') callback(response);
} else if (typeof callback === 'function') callback({});
},
error: function(response) {
if (typeof callback === 'function') callback({});
}
});
此处_sbUrl
使用http://192.32.45.34:9090/
。
进行调用后,网址将更新为此
http://localhost/web/guest/%22http://192.32.45.34:9090/%22gates/1.0/sweeps/getVehicleDetails/DE3SA2323
这只发生在IE10及以下版本的IE上,而在所有其他浏览器上运行良好。 我试过了:
crossdomain = true
但是它们都没有工作。这是jQuery的一个已知错误吗?如果是的话,我们是否有相同的解决方法。答案 0 :(得分:0)
根据@Archer的建议,问题出在_sbUrl
。
Url从属性文件中获取为字符串,对于IE10,它也包含引号。
因此,http://192.32.45.34:9090/
被提取为"http://192.32.45.34:9090/"
_sbUrl = _sbUrl.replace(/\\\//g, "/");
来自@Archer的扣除是由于%22http://192.32.45.34:9090/%22
%22
(相当于“)作为前缀和后缀。