(最近在學習ajax,所以想自己總結一下在PHP中如何使用ajax技術!)
一、ajax注意點:
1、原理圖:(來自韓順平ajax視頻)
2、ajax返回數據類型:
文本,json,xml
(1)文本格式:
(2)xml:

1 <?php 2 //告訴瀏覽器返回的是xml類型 3 header("Content-Type:text/xml;charset=utf-8"); 4 5 6 7 8 ?>
前端如何取出:
xmlrequest.responseXml();//返回的是對象
(3)json:
json只是一種文本字符串,他是存儲在responseText屬性中。
二、實現(通過添加圖書案例來實現,由於題目主要是用json來傳輸,所以我選擇json格式傳輸,但這個案例用json實在是太勉強了):
1、使用javascript來實現:
前端注冊界面:
當點擊提交按鈕時,會觸發addbook函數。
1 <form > 2 書名:<input id="bookname" type="text"><br> 3 價格:<input id="price" type="text"><br> 4 所屬類別:<input id="leibie" type="text"><br> 5 <input type="submit" value="提交" onclick="addbook()"> 6 <input type="reset" value="重置"> 7 </form>
2、js代碼:
1 class Book{ 2 constructor(bookname,price,leibie){ 3 this.bookname=bookname; 4 this.price=price; 5 this.leibie=leibie; 6 } 7 8 9 } 10 function addbook() { 11 var bookname=$('#bookname').val(); 12 var price=$('#price').val(); 13 var leibie=$('#leibie').val(); 14 if(bookname==='' || price==='' || leibie===''){ 15 alert("輸入不能為空"); 16 } 17 var book=new Book(bookname,price,leibie); 18 //在這里,將book對象轉換成json類型字符串 19 var bookjson=JSON.stringify(book); 20 // alert(bookjson); 21 // console.log(bookjson); 22 //使用jquery創建ajax對象 23 var xml=$.ajax({ 24 //定義提交的方式 25 type: "POST", 26 //定義要提交的URL 27 url:'addbook.php', 28 //定義提交的數據類型 29 dataType:'json', 30 async:false, 31 //要傳遞的數據 32 data:{'book':bookjson}, 33 //服務器處理成功后傳送回來的json格式的數據 34 success:function (ans) { 35 alert(JSON.parse(ans)); 36 } 37 } ); 38 }
3、PHP處理數據:
1 <?php 2 /** 3 * Created by PhpStorm. 4 * User: monty 5 * Date: 2018/10/29 6 * Time: 11:58 7 */ 8 $book=$_POST['book']; 9 //通過將json字符串解析為json對象數據 10 $bookjson=(array)json_decode($book); 11 $conn=@mysqli_connect('localhost','root','root','test') or die("獲取數據庫連接失敗!"); 12 mysqli_query($conn,"set names 'utf8'"); 13 $sql="insert into book(bookname,price,leibie) VALUES ('{$bookjson["bookname"]}','{$bookjson["price"]}','{$bookjson["leibie"]}')"; 14 @mysqli_query($conn,$sql); 15 //將返回數據轉碼為json字符串 16 $res=json_encode({"res":"success"}); 17 echo $res; 18 ?>