php中使用ajax進行前后端json數據交互


(最近在學習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 ?>
View Code

 

       

      前端如何取出:

        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 ?>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM