2011-03-03 5 views
0

저는 Wordpress, PHP, jQuery 및 AJAX를 사용합니다.jQuery AJAX - 복수 데이터 수신

나는이 같은 AJAX를 호출을 통해 PHP에서 데이터를 얻을 수 있습니다 : 나는 또한 가서 방법을 알고 싶어요 데이터를받은

$.ajax({ 
    type: "POST", 
    url: "<?php echo get_bloginfo('url'); ?>/?addmod_ajax=1", 
    data: "action=load&type=part", 
    success: function(data){ 
     alert(data); 
    } 
}); 

. "데이터"에는 HTML이 포함되어 있으며 "성공"또는 "발견되지 않음"과 같은 오류 코드가 필요합니다.

가장 좋은 방법은 무엇입니까? 나는 워드 프레스를 사용하기 때문에

워드 프레스

나는 (URL의)는 AJAX 트리거를 호출해야합니다. 내가 그대로 유지하면 좋다.

답변

1
$.ajax({ 
    type: "POST", 
    url: "<?php echo get_bloginfo('url'); ?>/?addmod_ajax=1", 
    data: "action=load&type=part", 
    success: function(data){ 
     alert(data); 
    }, 
    failure: function(){ 
     alert('failed'); 
    } 
}); 

당신은 아약스 요청이 실패하면 볼 수있는 오류 처리기를 추가 할 수 있지만 다른 반환 값을 원하는 경우 이외, 당신은 백엔드 호출하는 함수의 결과를 변경해야합니다 , 또는 html을 반환하는 대신에 첫 번째 요소가 발견되거나 발견되지 않는 json으로 인코딩 된 배열을 반환하고 두 번째 요소는 html 인 새로운 유사한 함수를 만듭니다.

편집 : 답변 및 형식 코드를 완성하는 덧글입니다.

당신은 '당신의 결과를'에코 장소에서

, 당신은

json_encode(array('success'=>true,'html'=>$yourData)); 

와 아약스 호출

dataType:'json' 

는 다음의 성공과 HTML 값에 액세스 할 수 있습니다 추가하는 대신 에코 할 수 있습니다 성공 처리기.

+0

jSON을 사용하고 지금도 "URL"을 유지할 수 있습니까? 어떻게 완료되었는지 알고 있다면 언제든지 소식을 업데이트 할 수 있습니다. 감사합니다. –

+0

@Jens - 예, 당신이 호출하고있는 PHP 측에서 함수가 어디에 있는지 알고 있습니까? – Orbit

+0

어디서? URL을 의미한다면 http : // localhost/concepts/addmod /? ajax_trigger = 1입니다. 함수를 호출 할 수 있다면 ... function load_part() {echo 'My result'; } –

0

나는 대개 단지 배열로 반환하거나 하나의 값으로 상태를 지정합니다.

$.get(url,data,function(data) { 
    if (data[0]=='parseError') { //could also be data.state 
     $("#formError").html("You have entered an invalid value.").show(); 
    } 
    else if (data[0]=='permissionDenied') { 
     $("#formError").html("You do not have permission to edit this.").show(); 
    } 
    else { 
     $("#formSuccess").html("Your changes have been saved"); 
    } 
}); 

이러한 예는 가장 (권한이 거부 및 구문 분석 오류가 프론트 엔드에서 처리 될 수 있습니다)하지 않을 수 있습니다. 아직도 개념은 견고합니다.