代码改变世界

Asp.Net+Jquery.Ajax详解5-$.getScript

2012-08-04 16:21  javaspring  阅读(484)  评论(0编辑  收藏  举报

 

目录(已经更新的文章会有连接,从725日开始,每23天更新一篇):

Asp.Net+Jquery.Ajax详解1-开篇(2012.07.25发)

Asp.Net+Jquery.Ajax详解2-$.Load(2012.07.26发)

Asp.Net+Jquery.Ajax详解3-$.get$.post(2012.07.30发)

Asp.Net+Jquery.Ajax详解4-$.getJSON(2012.07.31发)

Asp.Net+Jquery.Ajax详解5-$.getScript(2012.08.04发)

Asp.Net+Jquery.Ajax详解6-$.ajaxSetup(2012.08.06发)

Asp.Net+Jquery.Ajax详解7-全局Ajax事件(2012.08.09发)

Asp.Net+Jquery.Ajax详解8-核心$.ajax(2012.08.12发)

Asp.Net+Jquery.Ajax详解9-serializeserializeArray(2012.08.15发)

Asp.Net+Jquery.Ajax详解10-JSONXML+写在最后(2012.08.20发,结束啦!)

 

 

jQuery.getScript(url, [callback])

通过 HTTP GET 请求载入并执行一个 JavaScript 文件。

 

url:待载入 JS 文件地址。

callback:成功载入后回调函数。

此函数的jQuery内部实现, 仍然使用get函数, getScript将传入值为"script"的type参数, 最后在Ajax函数中对type为script的请求做了如下处理:

 

var head = document.getElementsByTagName("head")[0];            

var script = document.createElement("script");

script.src = s.url;

 

通过以上js代码建立了一个script语句块, 并加入到head中:

head.appendChild(script);

当脚本加载完毕后, 再从head中删除.删除的js代码就省略了,有兴趣自己去研究Jquery.

我仅仅做了一个非跨域的测试,以后有时间再补一个跨域的.

 

实例:

客户端——

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JqueryAjaxGetScript.aspx.cs" Inherits="JqueryAjaxTest.JqueryAjaxGetScript" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>jquery ajax test</title>
    <script src="Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    
     $(function () {
             //为按钮绑定事件
         $("#TestGetScript").bind("click", GetScriptTest);
         $("#Button1").bind("click", GetScriptTest);
       
        });


        //测试getScript
        function GetScriptTest(event) {

            $.getScript("Scripts/test.js", function (responseText, textStatus) {
             
                $("#result").html("请求的js文件的内容为:" + responseText + "<br/>" + "请求状态:" + textStatus + "<br/>" + "请求js的url:" + this.url);
            });
        }
  
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
         <input id="TestGetScript" type="button" value="测试jquery.getScript" />
        <div id="result">
        </div>
    
    </div>
    </form>
</body>
</html>


客户端请求的test.js中的javascript代码如下:

alert("getScript请求的javascript文件test.js 已载入!");

 

测试代码很简单,获得的效果一目了然,不再赘述了。