php怎么返回json?
php返回json,xml,jsonp等格式的数据
返回json数据:
header('content-type:application/json; charset=utf-8');$arr = array('a'=>1,'b'=>2);exit(json_encode($arr));
注意:如果不加header直接输出json_encode的值的话,返回的是字符串不是对象,js那边就需要先eval('('+data+')')转化为对象,在取值
返回xml数据:
header('content-type:text/xml; charset=utf-8');exit($xml);
返回jsonp数据:
$arr = array('a'=>1, 'b'=>2, 'c'=>3);$json = json_encode($arr);$callback = $_get['callback'];exit($callback."($json)");//注意callback是js传过来的参数名称
thinkphp如何返回各种数据:
$this->ajaxreturn (json_encode($arr),'json');$this->ajaxreturn (json_encode($arr),'jsonp');$this->ajaxreturn (json_encode($arr),'xml');
json_encode有个参数禁止unicode编码
json_unescaped_unicodejson_encode('中文',json_unescaped_unicode);
默认中文编码
header('content-type:application/json; charset=gbk');$data = $db->select($sql);$data = json_encode($data);$data=preg_replace("#\\\u([0-9a-f]{4})#ie", "iconv('ucs-2be', 'gbk', pack('h4', '\\1'))", $data); exit($data);
更多相关知识,请访问!