使用PHP的JSON填充

时间:2014-02-13 06:05:53

标签: php json jsonp

请任何人协助我试图将我的JSON数据显示在我的html5 localhost页面上,

我还是JSON的新手

我收到了以下内容,但页面上没有加载任何数据。

http://www.hostname/getCheck.php?callback?&callback=jQuery110205560797746881064_1392215061343&_=1392215061344

请有人帮忙。

下面是我的php脚本

`mysql_select_db($database_xxx, $xxx); $rsfet = "SELECT * FROM cs_tracking "; $fet = mysql_query($rsfet, $xxx) or die(mysql_error()); $json = array(); while($r=mysql_fetch_array($fet)){ $json[] = $r; }

header('Access-Control-Allow-Origin: *');
echo $callback ='('.json_encode($json).')';`

和我的javascript显示表格数据

` 
        $(document).ready(function(){
                $.ajax({
    url: 'http://xxxxxxxxxxx.com/getCheck.php?callback=?',
    type: 'GET',
    contentType: "application/json; charset=utf-8",
    dataType: "jsonp",
    jsonp: true,
    success: function(data){
               $.each(data,function(i,photo){
                 var tblRow =""
    +""+data.CS_Track_Child+""
    +""+data.CS_Track_Date+""
    +""+data.Tracking_Status+""
    +""+data.CS_Tracking_ID+""
    +"" ;
    $(tblRow).appendTo("#userdata tbody");
     });
     },    

     });
    });`

2 个答案:

答案 0 :(得分:0)

$callback变量在你的脚本中没有神奇地声明(至少,它不应该是);您可以通过$_GET['callback']访问该值,但请确保清理其值:

if (isset($_GET['callback']) && preg_match('/[A-Z]\w*/i', $_GET['callback']) {
    header('Content-Type: application/javascript');
    header('Access-Control-Allow-Origin: *');
    printf('%s(%s);', $_GET['callback'], json_encode($json));
}

答案 1 :(得分:0)

你有两个GET参数callback一个有效但空,第二个无效。

http://www.hostname/getCheck.php?callback?&callback=jQuery110205560797746881064_1392215061343&_=1392215061344

url: 'http://xxxxxxxxxxx.com/getCheck.php?callback=?',

请删除您的参数并尝试使用:

url: 'http://xxxxxxxxxxx.com/getCheck.php',