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;