2010-02-21 4 views
0

아래와 같이 getJSON의 결과를 parseInfo() 함수에 전달하면 결과를 PHP 변수로 다시 가져올 수 있으므로 다른 PHP 함수를 통해 후자를 넣을 수 있습니다 .json 값을 PHP 변수로 디코딩

$.getJSON('getinfo.php', { id:id }, parseInfo); 

function parseInfo(data) { 
    <?php 
     $some_var = json_decode(data); 
     function some_function($some_var) { 
     // rest of the script here... 
     } 
    ?> 
} 

누구든지 나를 도와 줄 수 있습니까? 나는 정말로 감사 할 것입니다.
건배!

답변

3

페이지를 보내기 전에 PHP가 실행됩니다. 페이지가 전송 된 후 Javascript가 실행됩니다. 따라서 PHP를 실행할 수있는 유일한 방법은 페이지를 요청하는 것입니다.

$.post('ajax.php', data); 

question.를 참조하십시오 : 스크립트에서

<?php 

$data = $_POST['data']; 
// ... do stuff ... 

?> 

: 당신이 PHP로 데이터를 전달하기를 원한다면

그래서, 당신은 ajax.php처럼 다른 페이지를 호출해야합니다

+0

와우. 빠른 답장을 보내 주셔서 감사합니다. 나는 한 발을 내줄 것이다. 최고, – DGT

+0

미안하지만 이전에 분명하지 않았을 수 있습니다. 나는 당신이 제안한 방식대로 내가 원하는 것을 성취하는 것처럼 보이지 않는다. 첫째, 게시 기능 (아래)이 아무 것도하지 않는 것 같습니다. 두 번째로이 작업을 수행하는 전체 목적은 PHP 함수가 'getinfo.php'클래스의 json_encode ($ ref [$ id]) 행에서 반환 된 배열 요소 (data.desc) 중 하나의 내용을 형식화 할 수 있도록하는 것입니다. 스크립트. 그래서 아이디어는 같은 #div 안에 형식화 된 data.desc를 인쇄하는 것입니다 : $ ('div # info') .html (data.desc); // 시도했습니다. 함수 parseInfo (데이터) { $ .post ("ajax.php", data); } 감사합니다. – DGT

+0

아, 나는 매화를 잊었다. '$ .post()'는 매우 유명한 자바 스크립트 프레임 워크 인 jQuery의 일부입니다. 이미 사용하고있는 경우 호출 된 함수에서 전달 된 데이터를 페이지에 출력해야합니다. '$ .post ('ajax.php', data, function (data) {alert (data);}); ' –