我试图以下列方式对服务器进行异步调用
$(document).ready(function(){
$.ajax({
cache: true,
async: true,
dataType: "script",
url:"www.xyz.com/yyy?host_name=abc.com&size=S&use_flash=YES&use_transparent=YES&lang=en",
success: function(data) {
$("#verified").append(data);
console.log("data is "+data);
loading = false;
}
});
});
但是脚本没有异步加载。我到底错过了什么?任何帮助将不胜感激!
答案 0 :(得分:3)
使用以下函数加载javascript异步
function script(url) {
var scriptObject = document.createElement('script');
scriptObject .type = 'text/javascript';
scriptObject .async = true;
scriptObject .src = url;
document.getElementsByTagName('head')[0].appendChild(scriptObject );
}
答案 1 :(得分:2)
尝试jQuery.getScript功能。
答案 2 :(得分:0)
默认情况下,ajax调用的“cache”和“async”属性值为“true”,您不必再次指定默认值。
您提到加载文件需要一些时间,这可能是因为您尝试加载的脚本文件数量足够大。足够大,我的意思是超过50或100 kb。
为了减少文件加载所需的时间,您可以缩小js文件,这将有助于减少脚本的文件大小,并最终在ajax调用时加载更快。
http://jscompress.com是可用的优秀在线缩放器之一。
或者,您可以尝试使用requirejs库,该库广泛用于异步加载脚本文件。您可以从以下链接下载requirejs库: http://requirejs.org/docs/download.html