我真的已经搜索了将近 2 个小时,但还没有找到一个关于如何将 JSON 数据从 PHP 传递到 JS 的好例子。我在 PHP 中有一个 JSON 编码脚本,它回显出一个看起来或多或少像这样的 JSON 脚本(伪代码)。
{
"1": [
{"id":"2","type":"1","description":"Foo","options:[
{"opt_id":"1","opt_desc":"Bar"},
{"opt_id":"2","opt_desc":"Lorem"}],
{"id":"3","type":"3","description":"Ipsum","options:[
...
"6":
{"id":"14","type":"1","description":"Test","options:[
...
etc
问题是,如何使用 JavaScript 获取这些数据?我的目标是制作一个基于这些 JSON 数据生成投票的 .js 脚本,但老实说,我找不到任何关于如何做到这一点的示例。猜测是这样的:
Obj jsonData = new Object();
jsonData = $.getJson('url',data,function()){
enter code here
}
任何好的例子或类似的链接都将受到高度赞赏。而且我认为在 PHP 中编码数据是棘手的部分......
编辑:
我得到了这个代码片段,所以我可以在 JS 中查看我的整个 JSON 数据。但现在我似乎无法弄清楚如何获取内部数据。它确实打印出阶段编号(1-6),但我无法弄清楚如何获取问题数据,然后再打印每个问题中的选项数据。我是否必须尝试嵌套每个循环?
$(document).ready(function()
{
$('#show-results').click(function()
{
$.post('JSAAN.php', function(data)
{
var pushedData = jQuery.parseJSON(data);
$.each(pushedData, function(i, serverData)
{
alert(i);
})
})
})
});
这里的想法是进入中间级别的问题信息并打印出问题描述,然后根据问题类型 - 在继续下一个问题之前循环选项(如果有)以创建复选框/单选按钮组. 第一个数字代表我目前正在进行的多阶段民意调查的哪个阶段。我的计划是通过隐藏/显示各种 div 将其分为 6 个阶段,直到通过 Ajax 提交表单的最后一页。