我是JavaScript,Ajax和PHP的新手,所以请原谅我可能会问的任何愚蠢的问题。
我想使用延迟加载TreeView,它通过PHP从数据库获取节点数据。我发现了一个JavaScript控件和一个例子来试用,现在我有一个问题。
为了延迟加载展开的树节点的数据,我需要向PHP文件发出一个Ajax请求,这样我就得到了一个JSON字符串的答案。在我尝试这个PHP文件的例子中只提供了一个字符串(带有'echo'),但是如果我需要循环遍历数据库记录集,我该怎么办呢。当我从数据库中获取它时,我可以“回应”我的延迟加载树视图的每个部分答案吗?或者我是否需要在字符串变量中收集PHP文件中的完整答案并仅在完成后发送它?
我不认为提供任何代码是有帮助的,因为我认为这个问题是一个普遍的问题。我可以回答一个部分答案的Ajax请求,当PHP文件到达时它的答案是否已经完成,或者我只能回答一个完整答案的Ajax请求吗?
我希望你理解我的问题。
感谢您提前给出任何答复或建议。
答案 0 :(得分:0)
如果我正确理解你的问题,这就是你如何发送请求并使用ajax获取json数据并循环遍历它:
<强> HTML 强>
<input id="button" type="button" value="click">
<强> target.php:强>
<?php
if(isset($_POST['submit']) and $_POST['submit']=='submit'){
$array=array(
array('name'=>'Rasmus','age'=>'32'),
array('name'=>'Jon','age'=>'43'),
array('name'=>'Lora','age'=>'35')
);
$json=json_encode($array);
echo $json;
}
<强>使用Javascript:强>
$("#button").click(function(){
$.ajax({
type: 'POST',
url: 'target.php',
data: {submit:'submit'},
success:function(data) {
var rdata=$.parseJSON(data);
$.each(rdata,function(){
alert(this['name']+this['age']);
});
}
});
})