javascript ajax
<!DOCTYPE html> <html> <head> <title>ajax.html</title> <meta name="keywords" content="keyword1,keyword2,keyword3"> <meta name="description" content="this is my page"> <meta name="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <script type="text/javascript" src="../js/jquery-1.11.3.js"></script> <script type="text/javascript"> // <![CDATA[ //如果你需要在没有硬编码的window标识符下访问全局对象,你可以在任何层级的函数作用域中做如下操作: var global = (function () { return this; })(); function show(str) { $("#div").append($("<p></p>").text("" + str)); } //XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 var xmlhttp; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } $(document).ready(function() { //如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法: //open(method,url,async):规定请求的类型、URL 以及是否异步处理请求。 //method:请求的类型;GET 或 POST //url:文件在服务器上的位置 //async:true(异步)或 false(同步) //send(string): 将请求发送到服务器。 //string:仅用于 POST 请求 //GET 还是 POST? //与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。 //然而,在以下情况中,请使用 POST 请求: //无法使用缓存文件(更新服务器上的文件或数据库) //向服务器发送大量数据(POST 没有数据量限制) //发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠 //服务器响应 //如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。 //responseText 获得字符串形式的响应数据。 //responseXML 获得 XML 形式的响应数据。 //onreadystatechange 事件 //当请求被发送到服务器时,我们需要执行一些基于响应的任务。 //每当 readyState 改变时,就会触发 onreadystatechange 事件。 //readyState 属性存有 XMLHttpRequest 的状态信息。 //下面是 XMLHttpRequest 对象的三个重要的属性: //onreadystatechange 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。 //readyState存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。 //注释:onreadystatechange 事件被触发 5 次(0 - 4),对应着 readyState 的每个变化。 //•0: 请求未初始化 //•1: 服务器连接已建立 //•2: 请求已接收 //•3: 请求处理中 //•4: 请求已完成,且响应已就绪 //status //200: "OK" //404: 未找到页面 //GET 请求 function Ajax_Get(xmlhttp, url) { xmlhttp.onreadystatechange = function() { show("readyState=" + xmlhttp.readyState); if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { show(xmlhttp.responseText); show(xmlhttp.getAllResponseHeaders()); show(xmlhttp.getResponseHeader("Content-Type")); } }; //为了避免得到缓存的结果,可以向url添加唯一的id var str = ""; if (url.indexOf("?") >=0 ) { str += "&unique_id=" + Math.random(); } else { str += "?unique_id=" + Math.random(); } xmlhttp.open("GET", url + str, true); xmlhttp.send(); } //POST 请求 //如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。 //然后在 send() 方法中规定您希望发送的数据: function Ajax_Post(xmlhttp, url) { xmlhttp.onreadystatechange = function() { show("readyState=" + xmlhttp.readyState); if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { show(xmlhttp.responseText); show(xmlhttp.getAllResponseHeaders()); show(xmlhttp.getResponseHeader("Content-Type")); } }; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send("fname=Bill&lname=Gates"); } $("#bt1").click(function () { Ajax_Get(xmlhttp, "/StudyExample/json/JSONAction.action"); }); $("#bt2").click(function () { Ajax_Post(xmlhttp, "/StudyExample/javascriptstudy/ajax.txt"); }); }); // ]]> </script> </head> <body> <button id="bt1">get</button> <button id="bt2">post</button> <div id="div"></div> </body> </html>
相关推荐
nmgxzm00 2020-11-10
ifconfig 2020-10-14
hhanbj 2020-11-17
zfszhangyuan 2020-11-16
古叶峰 2020-11-16
一个智障 2020-11-15
jipengx 2020-11-12
81427005 2020-11-11
xixixi 2020-11-11
游走的豚鼠君 2020-11-10
苗疆三刀的随手记 2020-11-10
Web卓不凡 2020-11-03
小飞侠V 2020-11-02
帕尼尼 2020-10-30
爱读书的旅行者 2020-10-26
帕尼尼 2020-10-23
杏仁技术站 2020-10-23
淼寒儿 2020-10-22