2010-05-16 7 views
3

맨 먼저 내 문제를 점검하고 도움을 주셔서 감사합니다!JQuery Ajax를 사용하여 PHP 함수 호출

좋아, 제목처럼 나는 내 데이터베이스에 JQuery Ajax를 사용하여 새로운 레코드를 투표로 추가하는 내 인덱스 페이지에서 php 함수를 호출해야한다고 말합니다. 이 함수는 하나의 정수를 반환하며,이 정수는 호출 된 양식 단추 안에 인쇄됩니다.

누구든지이 작업을 수행하는 방법에 대한 아이디어가 있습니까? 모든 지침을 부탁드립니다!

Edit: 

So if I'm using a template object I can just call the 
function using ajax and it will return the output? 
What would I use as the URL? index.php? 

Such as... 
function DoVote() { 
    $.ajax({ 
    type:'POST', 
    url: 'index.php', 
    success: function(data) { 
    $('#voteText').html(data); 
} 
}); 

양식 작업 속성이 게시되었습니다.

+0

아니면 그냥 Ajax를 사용하여 PHP 함수를 호출 할 수 있습니까? – NickKampe

답변

3

예, 해당 함수를 호출하고 출력을 에코 (echos)하는 별도의 PHP 파일을 만듭니다. 그런 다음 AJAX 요청으로 PHP 파일을로드하십시오.

PHP는 서버 측 언어이고 jQuery (JavaScript)는 클라이언트 측이므로 으로 직접 PHP 함수를 호출 할 수 없으므로 가장 많이 할 수있는 것은 파일을로드하는 것입니다. 그러나 파일에 <?php echo($object->function()); ?>과 같은 것이 있으면 파일을로드 할 수 있으며 본질적으로 함수를 호출 할 수 있습니다.

(추가 한 내용이 맞는지) 확실하지 않습니다. 임의의 파일에서

당신은 PHP 기능이 있습니다

<?php 
    // Called "otherfile.php" 

    // Function you're trying to call 
    function doSomething($obj) 
    { 
     $ret = $obj + 5; 

     return($ret); 
    } 
?> 

을 그리고 당신은 당신이 AJAX 호출로로드 파일을 (를 ajaxcall.php 전화)이있다.

<?php 
    include("otherfile.php"); // Make the file available, be aware that if that file 
           // outputs anything (i.e. not wrapped in a function) it 
           // may be executed 
    // Grab the POST data from the AJAX request 
    $obj = $_POST['obj']; 

    echo($doSomething()); 
?> 
+0

은 (는) 질문에 답변드립니다. – NickKampe

+0

@Stevie Editing answer –

0

ajax 요청은 일부 URL에 액세스하도록하고, 거기에있는 php를 실행합니다. 추가 매개 변수 (심지어 GET)를 사용하면 호출되는 함수를 변경하거나 함수 자체에 전달할 수 있습니다.