一、$.getScript()方法
- 有时候,在页面初次加载时就取得所需的全部Javascript文件是完全没必要的,可以按需所取。
- 该函数用于动态加载JS文件,并在全局作用域下执行文件中的JS代码。
- 该函数可以加载跨域的JS文件。请注意,该函数是通过异步方式加载数据的。
- 该函数属于全局
jQuery
对象。
语法:
$(function(){ $("send").on("click",function(){ $.getScript("script.js",function(){ //回调函数 //data:返回的数据 //textStatus:描述状态的字符串 }); }); });
$.getScript()方法的源码:
getScript: function( url, callback ) { return jQuery.get( url, undefined, callback, "script" ); }
在该方法中,调用了$.get()方法,幷传入了响应的参数。
$.get()方法的语法结构如下:
jQuery.get( url [, data ] [, success ] [, type ] )
$.get()方法等价于:
$.ajax({ url: url, type: "GET", success: success, dataType: "script" });
二、$.getJson()方法
- 该方法用于加载Json文件
- 如果请求的URL中包括"callback=?"等类似的部分,jQuery会自动将其视作JSONP,并执行对应的回调函数来获取JSON数据。
- 该函数是通过异步方式加载数据的。
- 该函数属于全局
jQuery
对象。
语法:
$(function(){ $("send").on("click",function(){ $.getJson("test.json",function(data){ //回调函数
//data:返回的数据
//textStatus:描述状态的字符串 }); }); });
$.getJson()方法的源码:
getJSON: function( url, data, callback ) { return jQuery.get( url, data, callback, "json" ); }
在该方法中,也调用了$.get()方法,幷传入了相应的参数。
$.getJson()等价于:
$.ajax({ url: url, type: "GET", data: data, success: success, dataType: "json" });
*$.getScript()和$.getJson()方法都是通过对$.get()方法封装实现的。属于第三层方法。
*总之:
第三层 | $.getJson()、$.getScript() |
第二层 | $.get()、$.post() |
第一层 | $.ajax() |