PHP和Ajax请求

时间:2015-08-07 04:58:17

标签: php ajax

我是JavaScript,Ajax和PHP的新手,所以请原谅我可能会问的任何愚蠢的问题。

我想使用延迟加载TreeView,它通过PHP从数据库获取节点数据。我发现了一个JavaScript控件和一个例子来试用,现在我有一个问题。

为了延迟加载展开的树节点的数据,我需要向PHP文件发出一个Ajax请求,这样我就得到了一个JSON字符串的答案。在我尝试这个PHP文件的例子中只提供了一个字符串(带有'echo'),但是如果我需要循环遍历数据库记录集,我该怎么办呢。当我从数据库中获取它时,我可以“回应”我的延迟加载树视图的每个部分答案吗?或者我是否需要在字符串变量中收集PHP文件中的完整答案并仅在完成后发送它?

我不认为提供任何代码是有帮助的,因为我认为这个问题是一个普遍的问题。我可以回答一个部分答案的Ajax请求,当PHP文件到达时它的答案是否已经完成,或者我只能回答一个完整答案的Ajax请求吗?

我希望你理解我的问题。

感谢您提前给出任何答复或建议。

1 个答案:

答案 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']);
                });
            }
        });
    })