2011-06-04 82 views
3
foreach($data['data'] as $data){ 
    $count = $data['number']; 
} 

// $data['number']; will return some number like: 

159809 
359107 
249178 
... //10+ numbers 

然后,如何将每个php的foreach值放入每个jquery ajax? (把每个数字通过一个jQuery Ajax,将有10 + Ajax调用,并返回一个div中的所有数据)。谢谢。如何把每个PHP的foreach值放入每个jquery ajax

<script type="text/javascript"> 
jQuery(document).ready(function(){ 
    $.ajax({ 
     url: "process.php", 
     dataType: "html", 
     type: 'POST', 
     data: "items=<?php echo $count; ?>", //each $count value in each ajax 
     success: function(data){ 
      $("#result").html(data); 
     } 
    }); 
}); 
</script> 
<div id="result"></div> 
+0

有一个解决方案来做你想做的事情,但你应该知道这绝对是做错事的办法。你应该通过一个ajax调用所有10个项目,至少... – Fosco 2011-06-04 21:27:55

+0

@Fosco,如果我在一个ajax调用所有项目,如'$ count = $ data ['number']。'a';'然后探索'a'来获取'process.php'中的每个数字,但'process.php'如何能知道它将有多少探索数字?它也会出错,比如'$ explored [0]','探究[1]'......最后一个是什么? – cj333 2011-06-04 21:32:33

+0

你可以像数组一样传递它,然后智能地解析另一端的数组..你在某个地方有一个知识洞。 – Fosco 2011-06-04 21:33:52

回答

1

如果你真的想要一个独特的Ajax调用每个$计数值,随着#result DIV返回的数据:

<script type="text/javascript"> 
    $(document).ready(function(){ 

<?php 
foreach($data['data'] as $data){ 
    $count = $data['number']; 
    ?> 
     $.ajax({ 
     url: "process.php", 
     dataType: "html", 
     type: 'POST', 
     data: "items=<?php echo $count; ?>", 
     success: function(data){ 
      $("#result").append(data); 
     } 
     }); 
    <?php 
} 
?> 

    }); 
</script> 
<div id="result"></div> 

不过,我会强烈建议传递值作为数组并且只有一个Ajax调用:

$count = array(); 
foreach($data['data'] as $data){ 
    $count[] = $data['number']; 
} 
$datacount = implode('-',$count); 
?> 

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $.ajax({ 
     url: "process.php", 
     dataType: "html", 
     type: 'POST', 
     data: "items=<?php echo $datacount; ?>", 
     success: function(data){ 
      $("#result").append(data); 
     } 
     }); 
    }); 
</script> 
<div id="result"></div> 

在服务器端的process.php,您可以explode('-',$_POST['items']),然后通过他们的foreach。

这只是另一种方式来实现它......它可能是json_encoded或许多其他方式。

+0

谢谢。这可以恢复我想要的数据,但CPU有点高。从5% - 22%。也许我的问题不是一个好主意。我只想一次处理10多件东西,然后缩短页面加载时间。 – cj333 2011-06-04 21:42:25

2

把php数组中的10个值放到javascript数组中,做一个javascript循环10次,并用javascript数组中的数据调用ajax函数。

+0

如何做一个'javascript数组',对不起,我不擅长它。 – cj333 2011-06-04 21:53:26

+1

很多关于google的好例子:) – MLS 2011-06-04 22:22:39