script 元素能够动态加载远程 JavaScript 脚本文件。JavaScript 脚本文件不仅仅可以被执行,还可以附加数据。在服务器端使用 JavaScript 文件附加数据之后,当在客户端使用 script 元素加载这些远程脚本时,附加在 JavaScript 文件中的信息也一同被加载到客户端,从而实现数据异步交互的目的。下面示例演示如何动态生成 script 元素,并通过 script 元素实现远程数据加载。
操作步骤
1) 定义一个异步请求的封装函数。
//创建<script>标签,参数url表示要请求的服务器端文件路径 function request (url) { if (! document.script) { //如果在document对象中不存在script属性 document.script = document.createElement("script"); //创建script元素 document.script.setAttribute("type", "text/javascript"); //设置脚本类型属性 document.script.setAttribute("src", url); //设置JavaScript文件的路径 document.body.appendChild(document.script); //把创建的script元素添加到页面中 } else { //如果已经存在script元素 document.script.setAttribute("src", url); //则直接设置src属性 } }
2) 完善客户端提交页面的结构和脚本代码。上面这个请求函数是整个 script 异步交互的核心。下面就可以来设计客户端提交页面。
<script> function callback (info) { //客户端回调函数 console.log(info); } function request (url) { //script异步请求函数 console.log(url); } window.onload = function () { //页面初始化处理函数 var b = document.getElementsByTagName("input")[0]; b.onclick = function () { //为页面按钮绑定异步请求函数 request ("server.js"); } } </script> <input name="submit" type="button" id="submit" value="向服务器发出请求" />
3) 在服务器端的响应文件(server.js)中输入下面的代码。
callback("这里是服务器端数据信息");
4) 当预览客户端提交页面时,不会立即发生异步交互的动作,而是当单击按钮时才会触发异步请求和响应行为,这正是异步交互所要的设计效果。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/23241.html