我创建了一个PHP格式的页面,它为我在localhost上设计的广播电台网站模拟了http://www.radioborders.com/on-air/station-schedule(仅表格部分)的外观。这是一个测试网站,让我尝试CSS / PHP / MySQL开发。
我的页面位于http localhost / radiostation1 / mytestpage(mod_rewrite隐藏的.php扩展名)
这是该页面的代码: http://pastebin.com/EvK7VzMy
但是,它链接到外部JSON,这不是我想要的。
我正在考虑创建一个PHP / MySQL数组,它使用我的数据库,其中包含以下表格:
演示者(varchar,255) image(varchar,255) - 不确定这是否是存储它的最佳方式 showdesc(varchar,255) 通话时间(时间) 到期(时间)
我不知道如何让我的代码从localhost上的回调中选择。
网站的原始代码:
// load the schedule.
$.getJSON('http://radioplayer.bauerradio.com/schedule.php?callback=?', {
name: 'Radio Borders'
}, function(json){
// loop each show and append to our giant table.
我的计划版本:
// load the schedule.
$.getJSON('http://localhost/myradiotest1/schedule.php?callback=?', {
name: 'Radio1FM'
}, function(json){
// loop each show and append to our giant table.
(我确实有schedule.php页面,但此刻它只是空白,直到我弄清楚如何处理它)
我是JSON的新手,并且发现这比我之前通过PHP提取MySQL的数据更加动态(在脚本术语中),因为我已经了解了,我可以做得很好。< / p>
我需要做些什么才能让JSON回调工作?最好的方法是什么?非常感谢任何建议,我会试一试,看看会发生什么。
在版权方面,我使用现有的 JSON脚本,这是合理使用,因为它仅供我的教育用途,而不是商业分发。
答案 0 :(得分:1)
使用PHP数组构建数组,然后使用json_encode()
将数据编码为JSON数组。
$dataArray = array('success' => true, 'error' => '', 'data' => getDBArray());
echo json_encode($dataArray) . ';' ;
现在,在这一点上支持JSONP是微不足道的。您只需要修改代码:
$json = json_encode($dataArray);
// Check if $_GET['callback'] contains a valid JavaScript function name
if(preg_match('/^[$A-Za-z_][0-9A-Za-z_]*$/', $_GET['callback'])) {
echo $_GET['callback'] . '(' . $json . ');' ;
} else {
echo $json . ';' ;
}