今天在用php向前台发送json数据时,总结了一下,算是第一个BW吧
$result 是从数据库中取出的结果,$result = mysql_query($sql);
取出一行关系数组
while($row = mysql_fetch_assoc($result)) {
echo json_encode($row);
}
此处将其转化为了json格式,
如果要后端指示其为json格式的话,可以加上一句
header("Content-Type:application/json;charset=utf-8");
意思是告诉浏览器server传送的数据是json格式,
这时阅览器打开开发者模式的话,就可以发现
server.php 的Response Header就是json格式 如下
这时前台接收数据(jQuery ajax)设其接收的数据是data
那么就可以直接使用data.attr 来显示数据,如
$.get(url,data,function(data) {
$("p").html(data.username);
});
那么,如果不指明header呢,server 指示的传输数据格式仍为text/html,意思是传输数据是text,不可直接以json来使用,
我们可以把传来的数据转化一下就行了,如下
var jsonObj = JSON.parse(data);
或者
var jsonObj = eval('('+data+')');
此时jsonObj就是json格式了,就可以提取相关属性数据了。