jquery $ .get执行后的空数据

时间:2015-01-29 12:25:08

标签: php jquery

我有一个包含3个值的php数组。在foreach基础上,我执行以下代码:

<script>
     $(document).ready(function(){
        <?php foreach($messaggi as $messaggio){  ?>
            $.get("scrollrtl.php", function(data){
                $('.messaggi').after(data);           
            });
        <?php } ?>
     });
</script>

scrollrtl.php现在只是呼应“Hello World&#39;”。结果是第一次“Hello World&#39;被回复一次,然后两次,循环结束七次&#39; Hello World&#39;在页面上而不是三个。我认为这是因为我不会在每次收费后重置数据,但我不知道该怎么做。

任何帮助?

编辑: 的 scrollrtl.php:

<div  id="scroll_left" class="messaggi jscroller_horz"> 
    <ul> 
    <li id="messaggio">This is the text 1</li> 
    </ul> 
</div> 

数组结果:

Array ( [id] => 1
        [nome] => Prova di messaggio che scorre
        [testo] => Questo è un messaggio che scorre ...
        [template] => scrollrtl ) 
Array ( [id] => 3
        [nome] => ci ritento
        [testo] => vediamo se questa volta la cosa...
        [template] => scrollrtl ) 
Array ( [id] => 6
        [nome] => MESSAGGIO
        [testo] => Messaggio
        [template] => scrollrtl ) 

逐步尝试代码,我看到第一次回复一次然后重复......

2 个答案:

答案 0 :(得分:1)

解决!有必要将last()添加到javascript代码中。 After()在EACH匹配元素之后插入数据,因此重复行。

$('.messaggi').after(data);  

变为

$('.messaggi').last().after(data);  

答案 1 :(得分:0)

您的问题与javascript中的“data”变量无关,因为每个函数调用都是本地的(因为它定义为函数的参数)。您发布的javascript按预期工作。

因此,就我看来,有两种可能的原因:

  1. scrollrtl.php文件返回的内容超出预期。
  2. $ messaggi数组包含3个以上的条目。
  3. 你可以在进入foreach循环之前发布scrollrtl.php文件的源代码和$ messsaggi(var_dump($ messaggi)变量的var_dump输出吗?