vue + ajax + php 接口的使用小接
前端代碼: (獲取用戶信息,並渲染頁面) userinfor.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>用戶信息</title> <script src='jquery-1.9.0.min.js'></script> <script src='vue.min.js'></script> </head> <body> <div id='app'> <p v-for='item in userList'><span>{{item.userName}}</span> <span> {{item.userTel}}</span></p> </div> </body> <script> new Vue({ el: '#app', data: { userList: [] }, created: function () { var that = this; $.ajax({ type : "POST", url : "./userinfor.php", data : "", success : function( data ) { var json = JSON.parse(data); if (json.flag) { that.userList = json.datalist; } else { alert(json.error_code); } }, error : function(){ lert("錯誤"); } }) }, }) </script> </html>
PHP代碼: (查詢數據庫,並形成接口輸出) userinfor.php
<?php header("Content-type: text/html; charset=utf-8"); //定義編碼方式 // 定義接口返回值 $flag = 1; $error_code = '查詢失敗'; $datalist = array(); $host = '43.242.131.118'; //主機ip地址 $user = 'hongmeng'; //主機用戶 $password = 'wyh19931106'; //主機用戶密碼 $connection = mysql_connect($host, $user, $password); //連接主機 if ( !$connection ) { die('連接失敗'); } $dbname = 'hongmeng_zl'; //數據庫名 mysql_select_db($dbname, $connection); //連接數據庫 mysql_query("SET NAMES UTF8"); //MySQL字符編碼 $sql = "select `userName`,`userTel` from `userInfor` "; //查詢語句 $result = mysql_query($sql);
if ( !$result ) { $flag = false; die('查詢失敗'); }; while ($row = mysql_fetch_assoc($result) ) { // while ($row = mysql_fetch_array($result) ) { $datalist[] = $row; //將查詢到的所有數據按行賦值給數組 } // 返回json數據,或者字符串,數字。 $json = array('flag' => $flag, 'error_code' => $error_code, 'datalist' => $datalist );
echo json_encode($json); //將普通數組轉換成json數組,(接口返回的值) mysql_close($connection); //斷開數據庫 ?>
echo就是php返回的值,傳遞給ajax的success:function(data){}中的參數data
必須是echo的方式,不然ajax獲取不到。
返回的類型包括,字符串,數字,json。
最常用的就是json。
這里的flag表示成功,失敗。
error_code表示提示信息。
datalist可以返回結果集。
php端對數據,進行 json_encode() 處理。
前端對數據進行 JSON.parse() 處理。