php返回json,xml,JSONP等格式的数据

Posted He元素

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php返回json,xml,JSONP等格式的数据相关的知识,希望对你有一定的参考价值。

php返回json,xml,JSONP等格式的数据

返回json数据:

header(‘Content-Type:application/json; charset=utf-8‘);
$arr = array(‘a‘=>1,‘b‘=>2);
exit(json_encode($data));

注意:如果不加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‘);

以上是关于php返回json,xml,JSONP等格式的数据的主要内容,如果未能解决你的问题,请参考以下文章

返回 XML 时使用 JSONP

json和jsonp

jsonp应用

AJAX中的dataType

ajax(post)

在vue中使用axios实现跨域请求并且设置返回的数据的格式是json格式,不是jsonp格式