## php寫app接口并返回json數據的實例
> 第一步:conn.PHP文件,用于連接數據庫并定義接口格式,代碼如下:
~~~
<?php
header("charset=utf-8");
$servername="localhost";
$username="root";
$password="root";
$dbname="test";
$conn = mysql_connect($servername,$username,$password);
if(!$conn){
echo "數據庫連接失敗!";
}
mysql_select_db($dbname);
class Response{
public static function json($code,$message="",$data=array()){
$result=array(
'code'=>$code,
'message'=>$message,
'data'=>$data
);
//輸出json
echo json_encode($result);
exit;
}
}
?>
~~~
> 第二步:text.php,用于將數據庫中的數據轉化為json字符串,并輸出:
~~~
<?php
require_once('conn.php');
/*
*選擇數據表
* */
$sqla = "SELECT * from user";
$result = mysql_query($sqla,$conn);
$dataarr = array();
while($row = mysql_fetch_array($result)){
$dataarr[]=$row;
}
$id=$_GET['id'];
if($id==1){
Response::json(1,'數據返回成功',$dataarr);
}else if($id==2){
Message::json(0,'失敗');
}
?>
~~~
> 第三步:text.html,ajax加載json數據并顯示:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
<input id="text" type="text"/>
<input type="button" id="tijiao" value="提交" />
<div id="tex"></div>
<script type="text/javascript">
$("#tijiao").click(function(){
var data={"id":$("#text").val()}
$.get("text.php?flag=showmessage",data,function(res){
res=JSON.parse(res);//<span style="color:#cc0000;">將json字符串轉化為json對象</span>
if(res.code==1){
$("#tex").empty();
$.each(res.data, function(x,y) {
$("#tex").append("id:"+y.id+"/姓名:"+y.username+"<br>");
});
}
})
})
</script>
</body>
</html>
~~~
這樣就可以實現利用php寫json接口了。
以上這篇php寫app接口并返回json數據的實例(分享)就是小編分享給大家的全部內容了,希望能給大家一個參考
重點:php json_encode出來的是json字符串,并非json對象
服務器端使用php+ajax調用返回json對象。
~~~
php
<?php
$result = array('Status' => false, 'Message' => 'sss');
$jsonstring = json_encode($result);
header('Content-Type: application/json'); //前面代碼容易找到
echo $jsonstring;
?>
javascript
$.ajax({
url:'leaveword.action.php',
type:"POST",
data:param,
success:function(phpData){
if(phpData.Status){
frmleave.filter('input').val('');
}else{
alert(phpData.Message);
}
}
});
~~~