zoukankan      html  css  js  c++  java
  • jQuery源码中的Ajax--getScript()/getJson()方法

    一、$.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()
  • 相关阅读:
    org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/String;Ljava/lang
    case when then 中判断null的方法
    Oracle 傻瓜式数据归档
    Object type TYPE failed to create with error
    导出表结构到Excel 生成代码用
    Intellij 高亮显示与选中字符串相同的内容
    自定义命令杀死 java 进程 alias kjava
    R语言包_dplyr_1
    dplyr包
    在天河二号上对比Julia,Python和R语言
  • 原文地址:https://www.cnblogs.com/niulina/p/5689749.html
Copyright © 2011-2022 走看看