将Ajax从json数组加载到div中

问题描述:

我的网页应该以随机顺序生成一系列问题。每个问题都是一个带有图片和多个选项的单独HTML页面。在页面加载时,应该有一个默认问题,然后点击下一页加载一个新页面。我目前是:将Ajax从json数组加载到div中

  1. 用html页面的名称创建一个php数组并对其进行混洗。
  2. 将这个数组转换成一个json数组以便在Javascript中访问。
  3. 试图加载ajax页面。

我被困在第三步;你如何在Ajax调用发送一个JSON数组元素即

$.ajax({ 
    url: name+".html", 
    success: function(html){ 
    $("#container").empty().append(html); 
    } 
}); 

其中名称是存储在JSON数组和集装箱在网页的名称是我当前的PHP页面上的DIV。 如果有更简单的方法来完成上述任务,我也会接受。

谢谢!

EDIT 第2步:

  var xdata = <?php echo json_encode($testArray); ?>; 

其中$ testArray是网页的PHP的混洗阵列。

+0

所以name.html期待的JSON阵列?你发送它作为一个cgi变量? – 2013-04-22 04:10:14

+0

名称期待json数组的元素。例如Test1。基本上我想要ajax调用来检索Test1.html并将其显示在容器中。 – 2013-04-22 04:16:52

+0

您将如何获得JSON? – 2013-04-22 04:21:07

使用jQuery load function

var pageToLoadIntoContainer = 'Test1.html'; 

$('#container').load(pageToLoadIntoContainer); 

扩展这个答案,试图解决你所有的元素......

<?php 

$pageArray = shuffle(array(
    'Test1' , 
    'Test2' , 
    'Test3' 
)); 

.... 

?> 
<script> 

var pageArray = <?php echo json_encode($pageArray); ?>; 

.... 

$('#container1').load(pageArray[0]); 
$('#container2').load(pageArray[1]); 
$('#container3').load(pageArray[2]); 

</script> 
+0

谢谢!我认为这是我正在寻找的,它应该工作! – 2013-04-22 04:32:54

$.ajax({ url: name+".html", success: function(html)  
       $("#container").empty().append(html);       
       }          
       }); 

有1 '{' 和2 '}' 尝试

$.ajax({ url: name+".html", success: function(html){  
       $("#container").empty().append(html);       
       }          
       });