• 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()
  • 相关阅读:
    备份与还原SQL Server 数据库
    ASP网站发布到IIS上注意问题
    MySQL相关积累
    C#中 让日历控件dateTimePicker1显示你想要的日期
    C#,右击鼠标,窗体出现在鼠标右边
    c#中combobox绑定数据库成功(方法二)
    java web 编写资料
    windows下使用gethostbyname函数报错无法解析的外部符号
    C语言中的作用域,链接属性和存储类型
    二级指针的用法
  • 原文地址:https://www.cnblogs.com/niulina/p/5689749.html
Copyright © 2020-2023  润新知