2009-06-17 3 views
4

$ .post를 사용하면 정보를 서버로 보낼 수 있지만 서버에서 정보를 수신해야하는 경우는 언제입니까?AJAX로 앞뒤로 정보 전송

정보가 PHP 변수에 의해 유지 될 수있는 방식에서 자바 스크립트 변수에 의해 유지 될 수있는 방식으로 변경되거나 그 반대의 경우는 어떻게됩니까?

답변

6

이것은 귀하의 질문에 더 관련이 : http://docs.jquery.com/Ajax/jQuery.post

경고 밖으로 test.php (HTML이나 XML, 반환 된 내용에 따라) 요청의 결과. 데이터의 추가 페이로드 (HTML이나 XML, 반환 된 내용에 따라)로 test.php 요청의 결과를 알아

$.post("test.php", function(data){ 
    alert("Data Loaded: " + data); 
}); 

경고합니다.

$.post("test.php", { name: "John", time: "2pm" }, 
    function(data){ 
    alert("Data Loaded: " + data); 
    }); 

test.php 페이지 콘텐츠를 가져 와서 XMLHttpResponse 개체에 저장하고 process() JavaScript 함수를 적용합니다.

$.post("test.php", { name: "John", time: "2pm" }, 
    function(data){ 
    process(data); 
    }, "xml"); 

는 JSON 형식 ("존", "시간"=> "오후 2시"))에 반환 된 test.php 페이지 내용을 가져; ?>)

$.post("test.php", { func: "getNameAndTime" }, 
    function(data){ 
    alert(data.name); // John 
    console.log(data.time); // 2pm 
    }, "json"); 
4

json_encode()json_decode()을 확인하십시오. 이것들은 이제 PHP의 일부이며 PHP 배열과 연관 배열 (또는 stdClass 객체)와 자바 스크립트 배열 또는 객체 (앞뒤에 JSON 리터럴) 사이를왔다 갔다 할 수 있습니다.

기본적으로 xml 또는 html을 반환하는 대신 echo json_encode($all_my_php_data);을 수행하고 javascript 객체를 가져올 수 있습니다.

$ .post()의 유형 매개 변수로 'json'을 전달하면 성공 콜백에 PHP 스크립트에 에코 된 JSON 객체가 포함됩니다.

$.post() documentation

0

그런 다음 서버에서 보낸 콘텐츠를 받아야합니다. 'data'매개 변수를 사용하여 $ .post에 대한 콜백 함수를 정의하면됩니다. 예 :

$.post('/index.php', { key: 'value' }, function(data) { alert(data); }); 

jQuery에서 자동으로 처리 할 수 ​​있도록 반환 값의 유형을 지정할 수 있습니다.

$.post('/index.php', { key: 'value' }, function(data) { 
    alert(data.someItem); 
    }, 'json'); 

을하지만 당신이 게시하거나 처음 아무것도받지 않고 PHP 서버에서 데이터를 얻을 필요가 있다면, 당신은 혜성을 구현해야 : 당신이 PHP 스크립트에서 JSON 값을 반환 할 경우에 당신은 마지막에 추가 매개 변수를 추가해야합니다. 그러나 그것은 조금 더 많은 작업입니다.

+0

모든 주요 Comet 구현은 GET 또는 POST를 사용합니다. –

0

http에서 클라이언트 (웹 브라우저의 javascript)에서 서버로 요청을 수행 한 다음 서버에서 반환 한 정보를 처리합니다. 두 가지 통신 모두에서 정보를 표현하는 방법을 선택하는 것은 당신에게 달려 있습니다.

당신이 일반적으로 포맷 브라우저에 정보를 반환하는 담당하는 PHP 핸들러에 요청을 할 수 있습니다 (아마도 jQuery를 통해) AJAX를 사용하면 JSON 문자 (당신이로 json_encode를 사용하여 응답을 인코딩 할 수 있습니다() , Brian이 제안한대로). 결국 자바 스크립트 객체를 얻기 위해 클라이언트에서이를 파싱합니다 (예 : jQuery 사용).

($ url, [data], [callback], [type]) 함수는 응답을 자동으로 구문 분석하여 콜백 함수에 전달합니다. 콜백 함수의 서명은 callback (data, textStatus)이어야합니다. 데이터은 구문 분석 된 객체이며 textStatus은 성공 또는 실패 상태()를보고합니다.