[AJAX系列]XMLHttpRequest请求

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>修改内容</title>
 6     <!--
 7     所有现代浏览器均支持XMLHttpRequest对象(IE6 IE5使用ActiveXObject)
 8     XMLHttpRequest用于在后台与服务器交换数据,这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新
 9     创建XMLHttpRequest对象
10     IE7+  FireFox   chrome   Opera Safari
11      xmlhttp = new XMLHttpRequest();
12      IE5 IE6
13      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
14
15     -->
16     <script>
17         function loadXMLDoc() {
18             var xmlhttp;
19             if (window.XMLHttpRequest) {
20                 //code for IE7+  FireFox   chrome   Opera Safari
21                 xmlhttp = new XMLHttpRequest();
22             } else {
23                 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
24             }
25             /**
26              * 当使用async=true时,请规定在想赢处于onreadystatechange事件中的就绪状态时执行的函数
27              * 如果async=false时就不必使用onreadystatechange函数,将代码放到send()语句之后即可
28              * xmlhttp.open("GET","ajax_info.txt",false);
29              *xmlhttp.send();
30              *document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
31              * */
32             xmlhttp.onreadystatechange = function () {
33                 if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
34                     document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
35                 }
36             }
37             //open(method,url,async):
38             //method :规定请求的类型 GET或POST
39             //url : 文件在服务器上的位置
40             //async:true为异步  false为同步
41             xmlhttp.open("GET", "../ajax_info.txt", true);
42             //send(string)将请求发送到服务器  带有string参数的仅用于POST请求
43             /**
44              * 与POST想比GET更简单也更快,并且在大部分情况下都能使用
45              * 然而在以下情况下请使用POST请求:
46              * 无法使用缓存文件(更新服务器上的文件或数据库)
47              * 向服务器发送大量数据(POST没有数据量限制)
48              * 发送包含未知字符的用户输入时POST比GET更稳定也更可靠
49              * 使用POST请求时如果需要HTML表单那样POST数据,请使用setRequestHeader()来添加HTTP头然后在send()方法中规定希望发送的数据
50              * xmlhttp.open("POST","ajax_test.html",true);
51              *xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
52              *xmlhttp.send("fname=Henry&lname=Ford");
53              * sendRequestHeader(header,value) header:规定头的名称   value:规定头的值
54              *
55              * */
56
57             xmlhttp.send();
58
59         }
60     </script>
61 </head>
62 <body>
63 <div id="myDiv">
64     <h2>使用Ajax修改该文本的内容</h2>
65 </div>
66 <button type="button" onclick="loadXMLDoc()">修改内容</button>
67 </body>
68 </html>
时间: 2024-10-05 23:47:42

[AJAX系列]XMLHttpRequest请求的相关文章

ajax系列之用jQuery的ajax方法向服务器发出get和post请求

打算写个ajax系列的博文,主要是写给自己看,学习下ajax的相关知识和用法,以更好的在工作中使用ajax. 假设有个网站A,它有一个简单的输入用户名的页面,界面上有两个输入框,第一个输入框包含在一个form表单里用来实现form提交,第二个输入框是单独的.没有包含在form里,下面就用这两个输入框来学习下jQuery的ajax. 1,前端的html和javascript代码 页面html 1 <main style="text-align: center; margin: 200px a

AJAX(XMLHttpRequest)进行跨域请求方法详解(三)

注意:以下代码请在Firefox 3.5.Chrome 3.0.Safari 4之后的版本中进行测试.IE8的实现方法与其他浏览不同. 3,带验证信息的请求 身份验证是Web开发中经常遇到的问题,在跨域请求中,默认情况下是不发送验证信息的.要想发送验证信息,需要进行withCredentials 属性,下面就是一个简单请求的例子: [xhtml] view plaincopyprint? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi

AJAX(XMLHttpRequest)进行跨域请求方法详解(二)

注意:以下代码请在Firefox 3.5.Chrome 3.0.Safari 4之后的版本中进行测试.IE8的实现方法与其他浏览不同. 2,预检请求 预检请求首先需要向另外一个域名的资源发送一个 HTTP OPTIONS 请求头,其目的就是为了判断实际发送的请求是否是安全的.下面的2种情况需要进行预检:a,不是上面的简单请求,比如使用Content-Type 为 application/xml 或 text/xml 的 POST 请求b,在请求中设置自定义头,比如 X-JSON.X-MENGXI

AJAX(XMLHttpRequest)进行跨域请求方法详解(一)

注意:以下代码请在Firefox 3.5.Chrome 3.0.Safari 4之后的版本中进行测试.IE8的实现方法与其他浏览不同. 跨域请求,顾名思义,就是一个站点中的资源去访问另外一个不同域名站点上的资源.这种情况很常见,比如说通过 style 标签加载外部样式表文件.通过 img 标签加载外部图片.通过 script 标签加载外部脚本文件.通过 Webfont 加载字体文件等等.默认情况下,脚本访问文档属性等数据采用的是同源策略(Same origin policy). 那么,什么是同源

Egret和Http请求 (Ajax、XMLHttpRequest、Post、Get)

一  Http请求 二  AJax和XMLHttpRequest 三  一个Ajax例子 四 Egret中的egret.HttpRequest 五 Post和Get区别 一 Http请求 Http深入浅出  http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.html http请求返回码  http://blog.chinaunix.net/uid-25311424-id-3052306.html 二 Ajax和XMLHttp

ajax 请求二进制流 图片 文件 XMLHttpRequest 请求并处理二进制流数据 之最佳实践

写在前面 :从提出需求到完美的解决问题,实现过程是曲折的. 需求:在前(web client)后(Restful Service)端完全解耦的模式框架下,webclient需要请求 Service 返回的图片文件(二进制流),并在client端显示. 第一步思考:拿到此需求, 基于程序员的狂妄心里,思考到显示图片而已,jquery ajax直接get请求 将返回data 赋值给img标签的src属性即可嘛,so easy~ 不知天高地后的小子开始码代码,经过几分钟给出了以下的代码,并自信满满的准

Access to XMLHttpRequest at &#39;XXX&#39; from origin &#39;XX&#39; has been blocked by CORS policy: No &#39;Access-Control-Allow-Origin&#39; header is present o AJAX跨域请求解决方法

今天出现了一个问题找了好久先看代码: 这可能是个BUG吧插入代码: dataType: 'jsonp', crossDomain: true, 最终: Access to XMLHttpRequest at 'XXX' from origin 'XX' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present o AJAX跨域请求解决方法 原文地址:https://www.cnblogs

基于jQuery的ajax系列之用FormData实现页面无刷新上传

接着上一篇ajax系列之用jQuery的ajax方法向服务器发出get和post请求写,这篇主要写如何利用ajax和FormData实现页面无刷新的文件上传效果,主要用到了jQuery的ajax()方法和XMLHttpRequest Level 2的FormData接口.关于FormData,大家可以看MDN文档. 1,先看效果图 期望的功能和效果很简单:点击页面中的上传文件表单控件,选择文件后点击"ajax提交",将文件上传至服务器,上传成功后,页面给出一个简单的提示. 2,前端的代

Ajax系列之二:核心对象XMLHttpRquest

上一篇文章介绍了ajax的基础知识,这篇文章通过一个简单的用户验证的小例子来给大家讲解一下! 首先来了解一个这个对象: XMLHttpRequest对象可以在不向服务器提交整个页面的情况下,实现局部更新网页.当页面全部加载完毕后,客户端通过该对象向服务器请求数据,服务器端接受数据并处理后,向客户端反馈数据. XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力.XMLHttpRequest 可以同步或异步返回