本文目录一览:
- 1、PHP返回数据如何不带
- 2、PHP如何利用json传递数组给javascript,一下代码为什么出错?
- 3、php在将数组转成json的时候,key值是中文的,乱码怎么解决!
- 4、php 怎么将html通过json数据
- 5、html如何处理php返回的json数据?
PHP返回数据如何不带
怀疑你使用了集成类似smarty之类的模板引擎,有了默认的html模板视图。
如果确定没有,可以考虑代码指定一个header:
header('Content-type: application/json');
PHP如何利用json传递数组给javascript,一下代码为什么出错?
思路没什么问题,只是语法的问题啦,一步一步来
//1生产json字符串
?php
$jsonStr = array('1'='a','2'='b');
$hello = json_encode($jsonStr);
?
//2把字符串交给js!
script language="javascript" type="text/javascript"
function redit(hell){
//在这里他还只是一个字符串,js不会认为他是一个json对象
var json = '?php echo $hello;?';
//变身
var real = eval("("+ json +")");
alert(real[1]);
}
/script
//3读取
input type="submit" value="edit" onclick="redit();"
你的代码的问题是
1你用数字作为键的话,json会把它当作数组下标,你没有0这个下标,所以读不出来
2你将一个字符串直接传进去,他并不是一个json对象,需要转换
php在将数组转成json的时候,key值是中文的,乱码怎么解决!
乱码的话是因为文件的格式不正确,而网页编码是默认为文件编码格式的,JSON又是UTF-8编码,所以你的文件可能是GB2312格式,所以导致JSON内的中文乱码。
这种情况转换为UTF-8格式就可以了。
(注意,转换成无BOM格式的,记事本转换的UTF-8是带BOM的,会导致JSON无法正确解析)
php 怎么将html通过json数据
?php
include './include/conn.php'; //数据库链接文件
$sql_notice = mysql_query('SELECT * FROM gg_notice where enable = "1" limit 0,10');
$notice = mysql_fetch_array($sql_notice, MYSQL_ASSOC);
print_r ($notice);
?
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
title第一php网提供的教程--将数据库读取的数据生成json格式/title
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
!-- script src="" type="text/javascript"//script --
script language=javascript
/script
/head
body
pre
h1请注意两种方法生成的对象数组在结构上的区别/h1
?php
echo 'h1法一/h1';
//假设以下数组是根据我们从数据库读取的数据生成的
$jarr=array('total'=239,'row'=array(
array('code'='001','name'='中国','addr'='Address 11','col4'='col4 data'),
array('code'='002','name'='Name 2','addr'='Address 12','col4'='col4 data'),
)
);
//法一:
$jobj=new stdclass();//实例化stdclass,这是php内置的空类,可以用来传递数据,由于json_decode后的数据是以对象数组的形式存放的,
//所以我们生成的时候也要把数据存储在对象中
foreach($jarr as $key=$value){
$jobj-$key=$value;
}
print_r($jobj);//打印传递属性后的对象
echo '使用$jobj-row[0][\'code\']输出数组元素:'.$jobj-row[0]['code'].'br';
echo '编码后的json字符串:'.json_encode($jobj).'br';//打印编码后的json字符串
echo 'hr';
//法二:
echo 'h1法二/h1';
echo '编码后的json字符串:';
echo $str=json_encode($jarr);//将数组进行json编码
echo 'br';
$arr=json_decode($str);//再进行json解码
print_r($arr);//打印解码后的数组,数据存储在对象数组中
echo '使用$arr-row[0]-code输出数组元素:'.$arr-row[0]-code;
?
/body
/html
html如何处理php返回的json数据?
html接受ajax返回结果有问题,因为服务端返回的是josn,所以不能直接赋值,先解析下json,变成js的数组,然后在给标签赋值,多打印下就好了。