我用 PHP 创建了一个页面,它模拟了 http://www.radioborders.com/on-air/station-schedule 的外观(仅 表格部分)用于我在本地主机上设计的广播电台站点。这是一个测试站点,供我尝试 CSS/PHP/MySQL 开发。
我的页面位于 http localhost/radiostation1/mytestpage(.php 扩展名被 mod_rewrite 隐藏)
这是页面的代码: http://pastebin.com/EvK7VzMy
但是,它链接到外部 JSON,这不是我想要的。
我正在考虑创建一个 PHP/MySQL 数组,它使用我的包含下表的数据库:
主持人(varchar,255) image (varchar, 255) - 不确定这是否是最好的存储方式 showdesc (varchar, 255) 通话时间(时间) 到期(时间)
我不确定如何让我的代码从本地主机上的回调中进行选择。
网站原始代码:
// 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 中提取数据的用法更具动态性(在脚本方面),我已经了解到,我可以做得很好。
我需要做什么才能使 JSON 回调正常工作,最好的方法是什么?非常感谢任何建议,我会尝试一下,看看会发生什么。
在版权方面,我对现有 JSON 脚本的使用,这是合理使用,因为它仅供我的教育用途,而非商业分发。
最佳答案
使用 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 . ';' ;
}
关于php - JSON 和我的 PHP 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6440736/