ajax 快速入門

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


服務器返回

  1. echo 普通的字符串

  2. 普通html文件

  3. 返回xml字符串

  4. 索引數組

  5. 關聯數組


注意事項

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

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;
相關文章
相關標籤/搜索