php 返回json和jsonp格式

json_encode()函数用于php的json格式返回,直接echo即可。

对于jsonp格式返回,需要加上调用函数的“callback参数()”,示例如下

<?php
$callback=$_GET['callback'];
$arr = array('error_code'=>'1');
printf("%s(%s);", $callback, json_encode($arr));//$arr为返回数据
?>

callback为调用a.php时传递的参数,一般js调用示例如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript" type="text/javascript" src="Scripts/jquery.min.js"></script>
<script type="text/javascript">
    $(function(){
        $("#test").click(function(){
            $.getJSON("http://www.a.com/a.php?callback=?",function(data){
                alert(data.error_code);                            
            });                      
        });
    });
</script>
</head>

<body>
<div style="100px;height:100px;background-color:#F00" id="test">点击跨域加载</div>
</body>
</html>
原文地址:https://www.cnblogs.com/kennyhr/p/3429533.html