jQuery,Ajax从数据库获取数据
问题描述:
我想通过jQuery,Ajax和PHP从SQL数据库获取数据。jQuery,Ajax从数据库获取数据
这里是jQuery代码
$.ajax({
url: 'OpenQuiz.php',
data: '',
dataType:'json',
success: function(data) {
var one = data[0];
}
}
$(document).ajaxComplete(function(event,request,settings) {
alert("check");
}
这里是JSON编码线在被称为 “OpenQuiz.php” 的PHP文件的末尾
echo json_encode($QuizName);
echo json_encode($options);
echo json_encode($votes);
echo json_encode($row_num);
echo json_encode($percentage);
echo json_encode($TruncPercentage);
请注意: $选项,$票,$百分比和$ TruncPercentage都是二维数组。 $ row_num是一个整数。 $ Quiz_Name是一个一维数组。
我发现jQuery运行良好,并且调用了ajax请求,因为显示“check”的警告框。问题是,我不知道如何访问变量后,他们已被转移。我知道它与数据[0]有关,但我并不真正了解“数据[0]”的含义或其所代表的含义。基本上如何访问我在PHP文件中使用json_encode发送的变量?
答
data [0]是返回数组中第一个json_encoded项目。你不应该单独json_encode编码,你应该建立一个数组并且json_encode这个。
$items = array('QuizName'=>$QuizName,'options'=>$options, ... ,'TruncPercentage'=>$TruncPercentage);
echo json_encode($items);
然后你检索与:
success: function(data) {
var qn = data.QuizName,
opt = data.options;
}
等了每个项目,用数据[无论]和[无论]是你给它数组中的项目的名称。我知道我最初说索引(数据[0])检索,但我更愿意显式检索,以便代码更易于维护。
header('Content-type: application/json');
配售,在该文件的顶部将在服务器强制:
作为一个侧面说明,你可以通过简单地正确设置标题在PHP端消除你的Ajax调用datatype:'json'
声明将页面识别为json。比jQuery寻找它更加一致和明确。
如何在PHP中创建一个变量数组(这是不同类型的)? – 2013-02-21 16:23:59
用简单的例子编辑我的答案。 – PlantTheIdea 2013-02-21 16:30:43
有道理。因此,由于$ QuizName是一个二维数组,因此要访问该数组中的单个值,我将不得不使用data.QuizName [x] [y],其中x和y定义了二维数组中值的位置? – 2013-02-21 16:34:30