2011-09-06 3 views
1

나는 트위터와 같은 후속/팔로 잉 언 팔로우 버튼을 구현하는 방법에 대한이 튜토리얼이 AJAX 스크립트는 게시를 통해 PHP 스크립트에 변수를 전달하는 방법은 무엇입니까?

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

을 통과하고있다.

나는 또한 AJAX에 완전히 익숙하다. 그래서 나는 내가 따라갈 때 그것을 이해하고있다.

일반적으로 양식을 통해 변수를 전달하고 POST로 동작을 설정 한 다음 PHP로 처리합니다. 여기

그러나,이

<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는이 섹션이 말을 필요로하는 POST 변수를 무엇

<?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 
} 
?> 

follow.php 전화? "성공"은 무엇을하며 follow.php와 어떻게 상호 작용합니까?

+0

과 : JQuery와 아약스 기능의 실제 자습서,이 튜토리얼을 시도 ''함수 함수의 빈약 한 예제 사용법 '을 실행하면, 주어진'follow.php' &'remove가 없으면 전체 튜토리얼은 쓸모가 없다.tut에서 언급되지 않았거나 tut 다운로드 예제에서 제공되지 않는 php –

답변

1

PHP는 ID가 ID 인 페이지 요소에 저장된 값을 가진 'id'라는 POST 변수를받습니다.

성공 처리기는 'ajax 요청이 성공하면이 코드를 실행하십시오'라는 스크립트 구문입니다. 무언가가 폭발 한 경우에만 실행되는 '오류'등가물도 있습니다. success 그 자체는 PHP와 상호 작용하지 않습니다. PHP 스크립트가 오류 코드를 반환하지 않으면 실행되는 코드 일뿐입니다.

많은 ajax 스크립트는 응답의 HTTP 오류 코드를 조작하여 성공/실패를 표시합니다. 2xx = 다 괜찮아요, success 핸들러를 호출하십시오. 4xx 또는 5xx는 error 핸들러를 호출합니다.

1

나는 당신이 통과되었다 당신의 id 매개 변수에 액세스 할 수 $ _POST [ 'ID를'] 싶은 생각합니다.

당신의 follow.php 스크립트가 성공적으로 완료 될 때 "성공"라고합니다.

0

jQuery ajax 호출은 데이터를 POST로 인코딩하여 PHP 스크립트로 보냅니다. 이 경우 스크립트가 같은 페이지에있는 것처럼 보입니다. 따라서 스크립트 자체가 핑 (ping) 될 것입니다. AJAX는 이것을 비동기 적으로 (정의상) 수행합니다.

ajax가 PHP 페이지에서 응답을 받으면 success 함수가 시작됩니다. 그것은 당신이 데이터가 왕복 여행을하고 PHP 스크립트에서 기대하는 데이터를받은 것을 알 수 있습니다. 여기서는 순차적으로 제공되는 기능이나 .php에서 돌아 오는 데이터에 의존하는 기능을 넣을 수 있습니다.

관련 문제