<code><!DOCTYPE HTML></code>
<code><html lang=</code><code>"en-US"</code><code>></code>
<code><head></code>
<code> </code><code><meta charset=</code><code>"UTF-8"</code><code>></code>
<code> </code><code><title>getScript简单学习</title></code>
<code> </code><code><script type=</code><code>"text/javascript"</code> <code>src=</code><code>"http://lib.sinaapp.com/js/jquery/1.8.3/jquery.min.js"</code><code>></script></code>
<code> </code><code><script type=</code><code>"text/javascript"</code><code>></code>
<code> </code><code>/*</code>
<code> </code><code>参考:http://www.365mini.com/page/jquery_getscript.htm</code>
<code> </code><code>http://www.w3school.com.cn/jquery/ajax_getscript.asp</code>
<code> </code><code>http://www.css88.com/jqapi-1.9/jQuery.getScript/</code>
<code> </code><code>http://www.111cn.net/wy/jquery/83696.htm</code>
<code> </code>
<code> </code>
<code> </code><code>1.jQuery.getScript()函数用于通过HTTP GET形式加载</code>
<code> </code><code>Javascript文件并运行它。</code>
<code> </code><code>2.该函数用于动态加载JS文件,并在全局作用域下执行文件中的JS代码。</code>
<code> </code><code>3.该函数可以加载跨域的JS文件。请注意,该函数是通过异步加载数据的。</code>
<code> </code><code>4.该函数属于全局的jQuery对象。</code>
<code> </code><code>5.注意:如果多次加载相同URL的js文件,即使服务器对js文件启用了缓存,</code>
<code> </code><code>在第二次及以后加载该js文件时,jQuery.getScript()仍然不会缓存。</code>
<code> </code><code>因为该函数会在js文件的URL后面添加一个时间戳参数后缀,</code>
<code> </code><code>从而避免浏览器获取缓存的js文件。</code>
<code> </code><code>6.请注意不要直接在jQuery.getScript()执行后直接调用该js文件中</code>
<code> </code><code>的变量或函数,因为jQuery.getScript()是异步加载的,</code>
<code> </code><code>在你访问其中的某个变量或函数时,可能该js文件尚未完全加载完毕。</code>
<code> </code><code>建议你最好在success回调函数中处理,</code>
<code> </code><code>或者你能够确认此时该js文件已经加载完毕。</code>
<code> </code><code>*/</code>
<code> </code>
<code> </code><code>$.getScript(</code><code>"http://js.tv.itc.cn/kao.js"</code><code>,</code><code>function</code><code>(){</code>
<code> </code><code>$(</code><code>"#go"</code><code>).click(</code><code>function</code><code>(){</code>
<code> </code><code>alert(</code><code>"OK"</code><code>);</code>
<code> </code><code>});</code>
<code> </code><code>});</code>
<code> </code><code>//回到函数的三个返回值,第一个返回值,第二个是状态,第三个是状态码</code>
<code> </code><code>$.getScript(</code><code>"http://js.tv.itc.cn/kao.js"</code><code>,</code><code>function</code><code>(data,textStatus,jqxhr){</code>
<code> </code><code>console.log(data); </code><code>//undefiend </code>
<code> </code><code>console.log(textStatus); </code><code>//success</code>
<code> </code><code>console.log(jqxhr.status); </code><code>// 200</code>
<code> </code><code>console.log(</code><code>"Load was performed!"</code><code>);</code>
<code> </code><code>//处理错误情况</code>
<code> </code><code>$.getScript(</code><code>"http://js.tv.itc.cn/dicta.js"</code><code>)</code>
<code> </code><code>.done(</code><code>function</code><code>(data,textStatus,jqxhr){ </code><code>//也可以只要前两个参数或前一个</code>
<code> </code><code>console.log(</code><code>"Load was performed1--------------!"</code><code>);</code>
<code> </code><code>console.log(data); </code><code>//undefined</code>
<code> </code><code>})</code>
<code> </code><code>.fail(</code><code>function</code><code>(jqxhr, settings, exception){</code>
<code> </code><code>console.log(</code><code>"***********************************!"</code><code>);</code>
<code> </code><code>});</code>
<code> </code>
<code> </code><code>$(document).ready(</code><code>function</code><code>(){</code>
<code> </code><code></script></code>
<code></head></code>
<code><body></code>
<code> </code><code><button id=</code><code>"go"</code><code>>Run</button></code>
<code></body></code>
<code></html></code>
<code><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></code>
<code><</code><code>html</code> <code>xmlns</code><code>=</code><code>"http://www.w3.org/1999/xhtml"</code> <code>xml:lang</code><code>=</code><code>"en"</code><code>></code>
<code><</code><code>head</code><code>></code>
<code> </code><code><</code><code>meta</code> <code>http-equiv</code><code>=</code><code>"Content-Type"</code> <code>content</code><code>=</code><code>"text/html;charset=UTF-8"</code> <code>/></code>
<code> </code><code><</code><code>title</code><code>>JSONP之getScript的用法</</code><code>title</code><code>></code>
<code> </code><code><</code><code>script</code> <code>type</code><code>=</code><code>"text/javascript"</code> <code>src</code><code>=</code><code>"http://lib.sinaapp.com/js/jquery/1.8.3/jquery.min.js"</code><code>></</code><code>script</code><code>></code>
<code> </code><code><</code><code>script</code> <code>type</code><code>=</code><code>"text/javascript"</code><code>></code>
<code> </code><code>我们在这边文章中分析了JSONP:http://hanchaohan.blog.51cto.com/2996417/1291927</code>
<code> </code><code>下面我分析一下使用匿名JSONP的使用方法。</code>
<code> </code><code>比如:http://store.tv.sohu.com/web/stpc/saveInformation.do</code>
<code> </code><code>返回的是:var result={"status":-2} 。</code>
<code> </code><code>接口又不支持JSONP,我们此时使用匿名JSONP格式就比较好!</code>
<code> </code><code>$(document).ready(function(){</code>
<code> </code><code>var t=encodeURIComponent($("#form_name").val()),</code>
<code> </code><code>a=encodeURIComponent("北京"),</code>
<code> </code><code>f=encodeURIComponent("北京"),</code>
<code> </code><code>r=encodeURIComponent("[email protected]"),</code>
<code> </code><code>l=encodeURIComponent("demo"),</code>
<code> </code><code>c=encodeURIComponent("13581746914");</code>
<code> </code>
<code> </code><code>$.getScript("http://store.tv.sohu.com/web/stpc/saveInformation.do?type="</code>
<code> </code><code>+75+"&name="+t+"&email="+r+"&phone="</code>
<code> </code><code>+c+"&province="+a+"&city="+f+"&dealer="+l+"",function(data,textStatus,jqxhr){</code>
<code> </code><code>console.log("get--------------!");</code>
<code> </code><code>console.log(data); //undefined</code>
<code> </code><code>console.log(textStatus); //success</code>
<code> </code><code>console.log(jqxhr.status); // 200</code>
<code> </code>
<code> </code><code>//接口返回的是:var result={"status":0}</code>
<code> </code><code>console.log(result.status);</code>
<code> </code><code>console.log("\u53c2\u6570\u6709\u8bef\uff01");</code>
<code> </code><code>alert("\u63d0\u4ea4\u5931\u8d25")</code>
<code> </code><code>});</code>
<code> </code><code></</code><code>script</code><code>></code>
<code></</code><code>head</code><code>></code>
<code><</code><code>body</code><code>></code>
<code> </code><code><</code><code>form</code> <code>action</code><code>=</code><code>"#"</code> <code>></code>
<code> </code><code><</code><code>input</code> <code>type</code><code>=</code><code>""</code> <code>id</code><code>=</code><code>"form_name"</code> <code>value</code><code>=</code><code>"韩超"</code><code>/></code>
<code> </code><code></</code><code>form</code><code>></code>
<code></</code><code>body</code><code>></code>
<code></</code><code>html</code><code>></code>
本文转自韩立伟 51CTO博客,原文链接:http://blog.51cto.com/hanchaohan/1733015,如需转载请自行联系原作者