XHR

        ajax是asynchronous javascript and XML的简写,中文翻译是异步的javascript和XML,这一技术能够向服务器请求额外的数据而无须卸载页面,虽然名字中包含XML,但ajax通信与数据格式无关.

        ajax包括以下几步骤:1、创建AJAX对象;2、发出HTTP请求;3、接收服务器传回的数据;4、更新网页数据

        概括起来就是,ajax通过原生的XMLHttpRequest对象发出HTTP请求,得到服务器返回的数据后,再进行处理

       ajax技术的核心是XMLHttpRequest对象(简称XHR),XHR为向服务器发送请求和解析服务器响应提供了流畅的接口,能够以异步方式从服务器取得更多信息

1、创建

        创建一个XHR对象,也叫实例化一个XHR对象,因为XMLHTTPRequest()是一个构造函数,

           xhr = new XMLHttpRequest();

2、发送请求

        在使用XHR对象时,要调用的第一个方法是open(),该方法接受3个参数

           xhr.open("get","example.php",false);       

           send()方法接收一个参数,即要作为请求主体发送的数据。调用send()方法后,请求被分派到服务器

     如果是GET方法,send()方法无参数,或参数为null;如果是POST方法,send()方法的参数为要发送的数据

            xhr.send(null);

3、接受响应

           responseText: 作为响应主体被返回的文本(文本形式);

            responseXML: 如果响应的内容类型是'text/xml'或'application/xml',这个属性中将保存着响应数据的XML DOM文档(document形式);

            status: HTTP状态码(数字形式);

            statusText: HTTP状态说明(文本形式);


浏览器禁止跨域访问:

        协议、域名、端口

可以实现跨域访问的标签:

            <image>站点统计

            <link>

            <script>

            <iframe>

同源策略,不同源地址之间,默认不能相互发送AJAX请求

1、借助<script>实现跨域请求,只能get请求

2、代理,通过后台(ASP、PHP、JAVA、ASP.NET)获取其他域名下的内容,然后再把获取的内容返回到前端

3、JSONP,通过script 标签请求一个服务端的PHP文件,这个文件返回的结果是一段JS,作用是调用我们事先定义好的一个函数

       从而将服务端想要给客户端发送过去的数据发送给客户端。

参考:http://www.cnblogs.com/xiaohuochai/archive/2016/11/11/6036475.html#anchor8

            




XHR 是 XMLHttpRequest 的缩写,它是一种可以在不重新加载整个页面的情况下,通过 JavaScript 发送 HTTP 请求和接收服务器响应的技术。在网页开发中,我们经常会用到 XHR 来实现异步数据交互,比如获取远程数据、发送表单数据等等。 要实现一个简单的 XHR 请求,我们可以通过以下几个步骤来操作: 1. 创建一个 XMLHttpRequest 对象 2. 指定请求的方法、URL 和是否异步 3. 发送请求 4. 监听 XHR 对象的状态变化,并在接收到响应后处理数据 下面是一个简单的示例代码: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'https://api.example.com/data', true); xhr.send(); xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE) { if (xhr.status === 200) { console.log('成功收到响应:', xhr.responseText); } else { console.log('请求出错:', xhr.status); } } }; ``` 在这个例子中,我们创建了一个 XHR 对象,并使用 GET 方法向 https://api.example.com/data 发送了一个异步请求。然后,我们监听 XHR 对象的状态变化,当 readyState 变为 XMLHttpRequest.DONE 时,表示请求完成。此时我们可以通过 status 属性来判断请求的状态,通过 responseText 属性来获取服务器返回的数据。 总之,XHR 是一种非常有用的技术,可以让我们在网页中实现更加流畅的用户体验,并为用户提供更加丰富的交互功能。希望这个回答能够帮助你更好地了解并使用 XHR
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值