ajax 快速入門

ajax做用:ajax 是在不從新加載整個頁面的狀況下與服務器交換數據並更新部分網頁的技術.(實現瀏覽器與服務器之間的數據交互,實現頁面的無刷新請求服務器,提升用戶體驗)javascript

基本使用:php

1.建立ajax對象:html

new XMLHttpRequest() //普通瀏覽器使用,ie瀏覽器有特殊java

2.建立事件函數(處理服務器返回的結果):
mysql

onreadystatechangeajax

readyState  ajax對象狀態:0:請求未初始化 1:服務器鏈接已創建 2:請求已接收 3:請求處理中 4請求已完成,且響應sql

status 響應碼:200:'ok'    404:未找到頁面   403:權限不足json

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()


服務器返回

  1. echo 普通的字符串

  2. 普通html文件

  3. 返回xml字符串

  4. 索引數組

  5. 關聯數組


注意事項

同源策略-當前頁面要和服務器的協議地址和端口都要相同

post發送ajax請求 

--- setRequestHeader("content-type','application/x-www-from-urlencoded");

--- 發送參數 send("a=100&b=www")

firebug的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
例子:
<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預處理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?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 ;

本文出自 「苦逼php」 博客,請務必保留此出處http://haibobo.blog.51cto.com/4799843/1943265

相關文章
相關標籤/搜索