2012-06-27 2 views
0

내 PHP 페이지변수를 jQuery를 사용하여 숨겨진 PHP 페이지로 이동할 수 있습니까?

<ul id="upvote-the-image"> 
<li><a href="javascript:return false;" rel="50" id="upvote">Upvote</a><img src="image.png" /></li> 
</ul>​ 

현재 성공적으로 자바 스크립트

$("#upvote").each(function(index) { 
var upthis = $(this).attr("rel"); 
var plusone = upthis; 
$.post("upvote.php", { 
    'plusone': plusone 
}); 
alert(plusone); 
});​ 

에 변수를 보내는 내가 확인해 태그를 사용하여 여러 이미지를 가지고 (코드의 경고는 테스트입니다). 나는 각각이 upvoted 될 수 있고 그들이 새로운 페이지를 로딩하지 않고 페이지에서 upvoted다는 것을 보여주고 싶다.

내 질문 및 문제 : 다음 단계는 무엇입니까? upvote.php에 값을 보내는 방법을 알고 싶습니다. 나는 upvote를 추가하기 위해 mysql을 사용하는 방법을 알고있다. upvote.php에 값을 보내는 방법이 아니고, 자바 스크립트 코드가 페이지를 올바르게 열어 줄 수도있다.

감사

+0

가 아직 understtand하기 어려운 문제의 그 부분을 upvote.php하는 키/값 쌍을 보내고, 희망이 도움이. 반복 ID를 클래스로 변경해야하고 페이지에서 ID를 반복 할 수 없습니다 – charlietfl

답변

0

난 당신이 같은 필요가 있다고 생각 :

<ul id="upvote-the-image"> 
    <li><span rel="50" id="upvote">Upvote</span><img src="image.png" /></li> 
</ul>​ 
<span id="result"></span> 

$("#upvote").click(function(index) { 
    var upthis = $(this).attr("rel"); 
    var oOptions = { 
url: upvote.php, //the receiving data page 
    data: upthis, //the data to the server 
    complete: function() { $('#result').text('Thanks!') } //the result on the page 
    }; 
    $.ajax(oOptions); 
} 

당신은 내가 스팬 그것을 변경, 앵커를 필요 없어요, 당신이 당신의 브라우저에서 F12를 사용하여 연결 asyc 테스트 할 수 있습니다를

+1

키/값 쌍을 서버에 전송해야합니다 ...뿐만 아니라 가치 – charlietfl

0

귀하의 자바 스크립트는 PHP 페이지를 열지 않으며 단지 데이터를 보내고 응답이있는 http 헤더를받습니다. 귀하의 PHP 스크립트는 $_POST['plusone']을 지켜보고 그에 따라 데이터베이스 처리를 처리해야합니다. 다음 단계는 $.post 함수 내에 콜백을 작성하는 것입니다. 학습 중에 전체 ajax 함수로 변경하는 것이 좋으며, 이해하기 쉽고 모든 상황을 쉽게 볼 수 있습니다.

$.ajax({ 
type: 'POST', 
url: "upvote.php", 
data: {'plusone': plusone}, 
success: function(IDofSelectedImg){ 
    //function to increment the rel value in the image that was clicked 
     $(IDofSelectedImg).attr("rel")= upthis +1; 
     }, 

}); 

img 요소를 선택하고 PHP 스크립트에 ID를 보내려면 각 img 요소에 고유 식별자가 필요합니다. upvote에 id 대신 클래스를 추가하고 id를 rel 값을 증가시켜야 할 때 jquery로 타겟팅 할 수있는 고유하게 식별 가능한 숫자로 만듭니다. (보이는 것에서 보면 rel 속성의 값을 이전 값 대신 데이터베이스에 넣는 것처럼 보입니다.)

+0

당신은 질문의 다른 반쪽에서 오는 '플러스 원'이 어디서 왔는지 설명하지 않습니다 ... – Sammaye

+0

그 점에 대한 그의 원래 게시물을 참조하십시오 ... 그리고 스토킹 중지. –

+0

나는 당신을 스토킹하지 않고, 나는 당신이 더 나은 대답을하지만, 나를 도와 주려고 노력했다. – Sammaye

0

JQuery의 유용한 프로그래밍 팁은 다음과 같습니다.

당신의 DOM 문서에 링크를 처리 할 수있는 더 나은 방법입니다

$(function(){ 
    $('#upvote').on('click', function(event){ 
     event.preventDefault(); 
     $.post('upvote.php', {'plusone': $(this).attr('rel')}, function(data){ 
      alert('done and upvoted'); 
     }); 
    }); 
}); 

:

<a href="javascript:return false;" 

대신 같은 뭔가.

  • http://api.jquery.com/jQuery.post/
    • http://api.jquery.com/on/
    • 당신에게 내 코드를 설명합니다 : 당신은 내가 사용하는 코드에 대해 읽을

      는 여기에 몇 가지 문서 페이지입니다.

    관련 문제