2013-10-07 3 views
0

json 요청을하는 functions.php 파일에 함수가 있습니다. 이것은 내가이 함수를 호출하고 방법은 다음 코드 위AJAX 요청을 충돌없이 실행하는 방법은 무엇입니까?

define('IS_AJAX_REQUEST', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'); 
if (IS_AJAX_REQUEST){ 
loadmore(); 
} 

는 잘 작동하지만 문제는 예를 들어, 내가하려고 할 때 loadmore()를 실행할 수 없다는 오류 메시지가 표시, 다른 AJAX 요청과 충돌한다 이미지를 업로드하십시오.

다음과 같이 시도했지만 아무 것도 작동하지 않았습니다. 여기 +

if (is_page()){ 
if (IS_AJAX_REQUEST){ 
loadmore(); 
    } 
} 

+

if (IS_AJAX_REQUEST){ 
if (is_page()) loadmore(); } 
} 

그리고

if (IS_AJAX_REQUEST && is_page()){ 
loadmore(); 
} 

는 loadmore 기능을 인

function loadmore(){ 

    header('Content-type: application/json'); 

echo json_encode (array ('rsp'=>'ok', 

     'payload'=> DrawPostList($_GET['tribe'], $_GET['offset']), 

     'lionly'=> true, 

     'tribe'=> $_GET['tribe'], 

     'offset'=> $_GET['offset']+20)); 

exit; 
} 

페이지를 볼 때 I 만 싶어 loadmore() 함수를 실행한다. 어떻게해야합니까?

+0

loadmore(); 기능 및 정확한 에러는 여기 – codepixlabs

+0

@ 워드 프레서는 loadmore 기능입니다. 추가 조건없이 잘 작동합니다. 또한이 함수는 사용자가 버튼을 클릭 할 때만 호출됩니다. 나는 그것을 Js를 통해 커버했다. –

+0

나는 실제 오류가 무엇인지 찾아 낼 수는 없지만 Wordpress에서 ajax 작업을하기위한 적절한 단계를 따르고 있습니까? – codepixlabs

답변

0
<?php 
add_action('wp_head', 'my_action_javascript'); 

function my_action_javascript() { 

    is_page() { // load script only on pages 
?> 
     <script type="text/javascript" > 
     function loadmore() { 

      var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>'; 
      jQuery.ajax({ 
        type: "POST", 
        url: ajaxurl, 
        data: { action : 'loadmore_trigger', var1 : 'test', var2 : 'one more' } 
      }) 
     }.done(function(response) { 
      alert(response); 

     } 
     </script> 
     <?php 
    } 
} 


add_action('wp_ajax_nopriv_loadmore_trigger', 'loadmore_trigger'); 
add_action('wp_ajax_loadmore_trigger', 'loadmore_trigger'); 

function loadmore_trigger(){ 

echo "<pre>"; 
print_r($_POST); 
exit; 

} 
?> 

<input type="submit" onclick="loadmore(); return false;"> // make ajax call on click of submit button 
+0

매우 도움이됩니다. 고맙습니다. –

관련 문제