PHP 中的 jquery-ajax 函数内部的 for 循环


for loop inside jquery-ajax function in php

我正在用php做一个评级应用程序,在这里我想在jQuery ajax函数调用中编写一个for循环。我不知道正确的语法如何。

我使用的PHP代码是

for(i=1;i<=4;i++)
{
<div class="like">
<a href="#" class="like" id="1" name="up"><img src="images/likebig.png"></a>
<a href="#" class="like" id="1" name="down"><img src="images/dislike.png"></a>
 <form>
 <input type="hidden" id="<?php echo $i; ?>" value="<?php echo $_SESSION['r_id'][$i]?>">
 </form>
}
</div>

上面的代码给出了四个结果。在这里,我想在单击相应单击时获取每个结果的值($_SESSION['r_id"][$i])

我使用的 jQuery 函数是

<script type="text/javascript">
    $(document).ready(function()
    {
    $(".like").click(function(e)
    {
    e.preventDefault();
    var id=$(this).attr("id");
    var name=$(this).attr("name");
    var fname = $("#fname").val();
    var lname = $("#lname").val();
    var email = $("#email").val();
    for(var i=1;i<=4;i++)
    {
    var rel[i] = $("#i").val();
    }
    var dataString = 'id='+ id + '&name='+ name + '&fname='+ fname + '&lname='+ lname + '&email='+ email;
     $.ajax
      ({
      type: "POST",
      url: "rate.php",
      data: dataString,
      cache: false,
      });
     });
    });
</script>

更改此设置

var rel[i] = $("#i").val();

自:

var rel[i] = $("#" + i).val();

或者,您可以使用.serialize()方法:

.serialize() 方法以标准 URL 编码的表示法创建文本字符串。它对表示一组表单元素的jQuery对象进行操作。表单元素可以有多种类型:

$.ajax({
   type: "POST",
   url: "rate.php",
   data: $('form').serialize(),
   cache: false,
 });