Js实现Ajax
来源:互联网 发布:华彩软件站下载 编辑:程序博客网 时间:2024/06/02 04:01
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
XMLHTTPRequest对象
所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。
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"); }
onreadystatechange 事件处理结果
当请求被发送到服务器时,我们需要执行一些基于响应的任务。每当 readyState 改变时,就会触发 onreadystatechange 事件。readyState 属性存有 XMLHttpRequest 的状态信息。
下面是 XMLHttpRequest 对象的三个重要的属性:
Access-Control-Allow-Origin
现代浏览器针对跨域请求做了限制,如果请求的是不同主机下的资源,需要在响应首部返回 Access-Control-Allow-Origin
字段,表示支持跨域请求.
否则浏览器无法完成Ajax请求.
代码实现
(function () { // No 'Access-Control-Allow-Origin' header is present on the requested resource. // 浏览器为了安全考虑对跨域请求做了限制, 必须配置Access-Control-Allow-Origin: domain.字段 const content = document.getElementById('content'); const btn = document.getElementById('btn'); const xhr = new XMLHttpRequest(); btn.onclick = function () { // 参数1:连接方法[GET, POST] 参数2:url地址 参数3:是否为异步, true表示异步 xhr.open('GET', 'http://127.0.0.1:5000/news', true); // 发送请求 xhr.send(); }; // 接收返回值 xhr.onreadystatechange = function () { if (xhr.readyState == 4) { if (xhr.status == 200) { success(xhr.responseText); } else { error(); } } }; function success(result) { log(result); // 使用eval解析json对象,必须加上() // JSON互相转化 var obj = eval('(' + result + ')'); log(obj); content.innerHTML = String(JSON.stringify(obj)); } function error() { log('error'); }})();function log(m) { console.log(m);}
点击以后执行的Ajax请求
服务器响应的Header如下
阅读全文
1 0
- 【Js】js实现ajax
- AJAX-prototype.js实现Ajax
- ajax js实现
- js实现ajax
- js实现ajax
- js实现ajax请求
- ajax+JS 实现分页
- Ajax-Js实现
- 原生js实现Ajax
- 原生js实现ajax
- 原生JS实现Ajax
- js实现ajax
- 原生js实现ajax
- AJAX实现(JS)
- 用js实现Ajax
- Js实现Ajax
- js实现ajax
- js实现ajax
- 34 linux系统管理
- SpringBoot
- Retrofit+RxJava的联合使用
- 安装qrcode或canvas的坑
- ECharts3基础教程(三)title配置篇
- Js实现Ajax
- JQuery使用(二)(事件)
- python之回调函数
- UVALive2857 POJ2578 HDU1037 ZOJ2186 Keep on Truckin'【水题】
- 哈希表(开放定址法处理冲突)(1013)
- 量化策略——市盈率策略选股
- Charles配置获取https数据
- Logistic Regression
- 国内固定电话和传真的正则表达式