我正在建立一个简单的基于网络的仪表板系统。
我有一个简单的html,它使用jQuery ajax来调用我的服务器:
$( document ).ready(function() {
var url = "...";
$.ajax({url : url, type : 'get'})
.done(successFunction)
.fail(errorFunction);
});
我注意到有时候请求会停止并长时间停留Pending
。
在使用Google搜索并查看this和that问题后,我停用了"使用预测服务更快地加载页面" Chrome设置中的标记问题已解决。
但是,我需要找到一种方法以编程方式禁用此标记(可能通过向我的ajax调用添加请求标头?),因此我的用户不会遇到此问题。
我手动禁用的Chrome设置出现在此图片中:
答案 0 :(得分:0)
根据Mozilla的说法,这似乎不是浏览器的问题,而是很可能是实施的问题。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Link_prefetching_FAQ
是否首选禁用链接预取?
是的,有一个隐藏的首选项,您可以设置为禁用链接预取。将此行添加到位于配置文件目录中的prefs.js文件中(或通过about:config进行适当的更改):
user_pref("network.prefetch-next", false);
然而,理论是如果需要禁用链接预取,那么实现必定存在问题。如果它不能正常工作,我们宁愿改进实现,而不是期望用户找到并调整一些模糊的偏好。
我为我的HTTP请求使用Vue-Resource。它看起来很像Ajax,我在浏览器上启用了相同的设置,它可以完美地处理它。语法很简单,它是一个非常小的文件。语法看起来像这样。
指向它的链接是https://cdnjs.cloudflare.com/ajax/libs/vue-resource/1.0.3/vue-resource.js,文档在这里。
https://github.com/pagekit/vue-resource/blob/master/docs/http.md
Vue.$http.get('path/to/url').then(function(success){
console.log(success.body);
},function(error){
console.log(error)
})