AJAX详解
什么是AJAXAsynchronous Javascript And XML 取四个单词的首字母
AJAX能做什么在不刷新整个页面的情况下,与服务器交互(发送与接收数据)。 使用场景从上面的 XMLHttpRequest对象 - AJAX的核心XMLHttpRequest对象是AJAX的核心。所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象,老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象。 创建XMLHttpRequest对象 var xmlhttp = null; if (window.XMLHttpRequest) { // for IE7+,Firefox,Chrome,Opera,Safari xmlhttp = new XMLHttpRequest(); } else { // for IE6,IE5 xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); } XMLHttpRequest对象的属性、方法与事件属性 (1) readyState
(2) status
(3 ) responseText
(4) responseXML
方法 (1) open(method,url,async)
(2) send(string)
xmlhttp.open('GET','a.php',false); xmlhttp.send(); document.getElementById('myDiv').innerHTML = xmlhttp.responseText; 事件 (1) onreadystatechange
GET的问题(1) GET有缓存现象
(2) GET有数据量限制 POST的注意事项如果需要像 HTML 表单那样 POST 数据,需要使用 setRequestHeader() 来添加 HTTP 头。 xmlhttp.open('POST',true); xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded'); xmlhttp.send('name=weiheli&age=26');
JSONPJSON with Padding 简称 JSONP。 由于 一个示例 <script> function myFn(data) { console.log(data); } </script> <script src="003.php?callback=myFn"></script> 003.php <?php $myFn = $_GET['callback']; $arr = array('name' => 'weiheli','age' => 26); echo $myFn . '(' . json_encode($arr) . ')'; ?> 执行结果 Object {name="weiheli",age=26} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |