在我的应用程序中,我通过JavaScript请求资源。
在测试1中,我使用原生XMLHttpRequest。 在测试2中,我使用Jquery 1.9.1
测试1
function getResource(){
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://localhost:8080/test/empty.html", false);
xhr.send("");
var result = xhr.responseText;
}
测试2
function getResource(){
var config = {
url: http://localhost:8080/test/empty.html,
error: function (xhr, status, error) {
//handle error
},
async: false
};
jQuery.ajax(config);
}
对于两个测试案例,都会调查相同的结果。
Invatigation:
这只出现在Android 7.0(Nougat)设备上(索尼Z4)
我们发现,服务器(Tomcat 7)得到了响应并将请求发送回客户端。 客户端正在等待它,但没有得到响应(在Chrome网络选项卡中,empty.html正在等待处理)。不知何故,服务器从客户端获得新响应并再次发回请求。这将重复,直到客户端识别出响应。
PS: 我得到了一个提示,这可能是JQuery 1.9的一个问题,升级到2.X将解决这个问题。 但我无法轻松地将我的应用程序升级到更新版本的JQuery。
我能做些什么,这种设备能在ms内得到响应?