首页 文章

jquery $ .get执行后的空数据

提问于
浏览
0

我有一个包含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' . 结果是第一次'Hello World'被回显一次,然后两次,循环以7次'Hello World'结束而不是3次 . 我认为这是因为我不会在每次$ get之后重置数据,但我不知道该怎么做 .

有帮助吗?

编辑: scrollrtl.php:

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

array results:

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 回答

  • 1

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

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

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

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

    因此,我看到它的方式,有两个可能的原因:

    • scrollrtl.php文件返回的内容超出了您的预期 .

    • $ messaggi数组包含3个以上的条目 .

    您可以在进入foreach循环之前发布scrollrtl.php文件的源代码和$ messsaggi(var_dump($ messaggi)变量的var_dump输出吗?

相关问题