2011-09-06 196 views
1

我关于如何实现类似Twitter的后续/取消关注按钮,要通过本教程这个AJAX脚本如何通过post传递一个变量给PHP脚本?

http://www.9lessons.info/2009/04/exactly-twitter-like-follow-and-remove.html

我对AJAX也是全新的,所以当我走的时候,我很喜欢搞清楚它。

通常情况下,通过表单传递变量并将操作设置为POST,然后使用PHP进行操作。

然而在这里,还有的JavaScript的这一部分(针对以下用户)

<script type="text/javascript" > 
$(function() 
{ 
    $(".follow").click(function(){ 
     var element = $(this); 
     var I = element.attr("id"); 
     var info = 'id=' + I; 
     $("#loading").html('<img src="loader.gif" >'); 

     $.ajax({ 
      type: "POST", 
      url: "follow.php", 
      data: info, 
      success: function(){ 
       $("#loading").ajaxComplete(function(){}).slideUp(); 
       $('#follow'+I).fadeOut(200).hide(); 
       $('#remove'+I).fadeIn(200).show(); 
      } 
     }); 
     return false; 
    }); 
}); 
</script> 

,说我们有HTML/PHP的这一部分

<?php 
$sql=mysql_query("Some SQL Statement that grabs users"); 
while($row=mysql_fetch_array($sql)) 
{ 
    $id=$row["user_id"]; 
?> 
<div id="follow<?php echo $id;?>"> 
    <a href="#" class="follow" id="<?php echo $id;?>"> 
    <span class="follow_b"> Follow </span></a> 
</div> 
<div id="remove<?php echo $id;?>" style="display:none"> 
    You Following <a href="#" class="remove" id="<?php echo $id;?>"> 
    <span class="remove_b"> remove </span></a> 
</div> 
<?php 
} 
?> 

什么是需要的POST变量follow.php叫?什么是“成功”,它与follow.php如何互动?

+0

基本上它从按钮传递'id'值,然后张贴'ID = value'到'follow.php'然后'成功'运行'函数'的一个不好的例子用法,整个教程是没用的,除非你给''follow.php'&'删除。php“,这在tut中没有提及或在tut下载示例中给出 –

回答

1

PHP将接收一个名为'id'的POST变量,该变量的值存储在ID为ID的页面元素中。

成功处理程序是一个脚本构造说'如果ajax请求成功执行此代码'。还有一个“错误”等价物,只有在某些东西爆炸时才会执行。 success本身不会与PHP交互。这只是PHP脚本没有返回错误代码时发生的一些代码。

许多ajax脚本通过操纵响应的HTTP错误代码来指示成功/失败。 2xx =一切正常,调用success处理程序。任何4xx或5xx都会调用error处理程序。

1

我相信你想$ _ POST [“身份证”]访问中传递的ID参数。

当你follow.php脚本成功完成“成功”之称。

0

jQuery ajax调用将数据编码为POST并将其发送到您的PHP脚本。在这种情况下,脚本似乎在同一页面上,所以我猜测它会自己ping。 AJAX以异步方式执行此操作(按定义)。

当ajax接收到来自php页面的响应时,成功函数被触发。这就是你如何知道数据已经完成了往返,并且你接收到了来自PHP脚本的任何数据。这是你想要放置下一个顺序的任何功能的地方,或者任何依赖于你从.php获得的数据的东西。

相关问题