当前位置:编程学习 > asp >>

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

目录(已经更新的文章会有连接,从7月25日开始,每2到3天更新一篇):


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

Asp.Net+Jquery.Ajax详解7-全局Ajax事件

Asp.Net+Jquery.Ajax详解8-核心$.ajax

Asp.Net+Jquery.Ajax详解9-serialize和serializeArray

Asp.Net+Jquery.Ajax详解10-JSON和XML+写在最后

 

 


jQuery.getScript(url, [callback])

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

 

url:待载入 JS 文件地址。

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

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

 

[javascript] 
var head = document.getElementsByTagName("head")[0];             
 
var script = document.createElement("script"); 
 
script.src = s.url; 

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

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

script.src = s.url;
 

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

head.appendChild(script);

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

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

 

实例:

客户端——

[javascript] 
<%@ 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> 

<%@ 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代码如下:

[javascript] www.zzzyk.com
alert("getScript请求的javascript文件test.js 已载入!"); 

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

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

 


作者:shan9liang
补充:Web开发 , ASP.Net ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,