ajax 快速入门javascript
ajax做用:ajax 是在不从新加载整个页面的状况下与服务器交换数据并更新部分网页的技术.(实现浏览器与服务器之间的数据交互,实现页面的无刷新请求服务器,提升用户体验)php
基本使用:html
1.建立ajax对象:java
new XMLHttpRequest() //普通浏览器使用,ie浏览器有特殊mysql
2.建立事件函数(处理服务器返回的结果):
ajax
onreadystatechangesql
readyState ajax对象状态:0:请求未初始化 1:服务器链接已创建 2:请求已接收 3:请求处理中 4请求已完成,且响应json
status 响应码:200:'ok' 404:未找到页面 403:权限不足数组
responseText 接受服务器的返回的数据浏览器
3.初始化ajax请求
get --- xmlhttp.open('GET',1.php?a=1&b=2&c-3',true);
post --- xmlhttp.setRequestHeader('content-type','application/x-www-form-urlencoded"):
xmlhttp.open('POST','1.php',true);
4.发送ajax请求 --- send()
服务器返回
echo 普通的字符串
普通html文件
返回xml字符串
索引数组
关联数组
注意事项
同源策略-当前页面要和服务器的协议地址和端口都要相同
post发送ajax请求
--- setRequestHeader("content-type','application/x-www-from-urlencoded");
--- 发送参数 send("a=100&b=www")
firebug的使用
例子: <script type="text/javascript"> //1.建立ajax对象 var x = new XMLHttpRequest; //2.触发事件 x.onreadystatechange = function(){ // on ready 准备 state情况 changge if(x.readyState == 4 && x.status == 200){ console.log(x.responseText); //返回的结果 } } //3.初始化 x.open('GET','fuxi.php?id=100',true); //true 异步 false是同步 //4 发送 x.send(); //发送ajax 若是是post 方式 3步和4步发生改变 x.open('POST','3.php',true); x.setRequestHeader('content-type','application/x-www-form-urlencoded');重要 x.send('a=100&b=200');
配合php PDO预处理
<?php $id = $_GET['id']; $pdo = new PDO('mysql:host=localhost;dbname=pass;charset=utf8','root','123456'); //准备预处理 $stmt = $pdo->prepare('select * from phones where id = ?'); //赋值 $arr = [$id]; //执行 $stmt->execute($arr); //获取结果 $res = $stmt->fetch(PDO::FETCH_ASSOC); // var_dump($res); $row = json_encode($res); echo $row;