2014-04-01 2 views
-1

결국 코드에서 Ajax 호출을 구현할 수 있었지만 호출이 완료된 후 리디렉션하는 방법이 약간 혼란 스럽습니다. 스크립트 예제는 아래에서 볼 수 있습니다. CodeIgniter는 : 내 테스트() PHP 함수 내에서코드 혼동 처리 후 Ajax 리디렉션

<script type="text/javascript"> 
    function myFunction() { 
    var form_data = $('#form1').serialize(); 
    $.ajax({ 
     type: "POST", 
     dataType: "text", 
     url: "testproject/main/test", 
     data: form_data, 
     success: function(response){ 
     window.location("http://www.google.com"); 
     } 
    }); 
    window.alert("sometext"); 
    } 
</script> 

나는 리디렉션을 할 수 있습니까? 리디렉션을 위해 JS 함수에 정보를 어떻게 전달할 수 있습니까? 또한 최종 질문으로 동적 페이지를 동적으로로드하는 이와 같은 쿼리를 어떻게 사용할 수 있습니까? (마지막 질문은 내가 호기심을 자극하는/코가 더 많음). 사전에 많은 감사와 나는 완전한 초보자 인내심을 운동하십시오!

편집 : 내 아약스 쿼리 그러나 문제없이 실행되지 않습니다 - 결코 내 코드 실행 :

success: function(response){ 
    window.location("http://www.google.com"); 
} 

은 어떻게 든 PHP에서 응답을 반환해야합니까?

+1

먼저'= "일부 URL이"'하지'windows', 초'에서는 window.location을 받고 window''에서는 window.location는 ("") ', 당신이 있었어야하지 _ "ReferenceError : windows가 정의되지 않았습니다"_ (사용자가'windows'를 사용함) 또는 _ "객체 [object global]의 속성 'location'이 함수가 아닙니다"_ 또는 콘솔에서 유사한 오류가 발생했습니다. –

+0

ok PHP에서 리디렉션 코드를 작성할지 여부를 계속 찾고 있습니까? – TotalNewbie

+1

게시물 바로 다음에 리디렉션하려는 경우 일반 양식 게시를 수행하는 대신 왜 아약스를 사용해야하나요? 사용자가 아약스를 사용하여 사용자가 동일한 페이지에 머무르고 다른 것들을 할 수 있습니다. –

답변

0

이 시도 :

<script type="text/javascript"> 
    function myFunction() 
    { 

     var form_data = $('#form1').serialize(); 

     $.ajax({ 
      type: "POST", 
      dataType: "text", 
      url: "testproject/main/test", 
      data: form_data, 
      success: function(response){ 
       window.location.href="http://www.google.com"; 
        // or window.location.assign("http://www.google.com"); 
      } 
      }) 
     alert("sometext"); 
    } 
</script> 
1

자바 스크립트에서 리디렉션하는 방법에 대한 빠른 google은 revealed this이됩니다. 귀하의 자바 스크립트가 잘못 쓰여집니다. 당신은 필요합니다 :

window.location.href = 'http://www.google.com'; 

PHP 내부에서 리디렉션하는 방법은 없습니다. 리디렉션하려면 다시 자바 스크립트로 전달해야합니다. 이렇게하려면 PHP 페이지에서 이동하려는 페이지를 반향 출력 한 다음 해당 페이지로 리디렉션하십시오.

그래서 당신의 PHP 페이지에 당신은 :
<?php echo 'myurl.html'; ?> 

는 그런 다음 아약스에, 당신은 : 응답으로

window.location.href = response 

는 PHP 페이지에 어떤 밖으로 echo'd되는 것입니다.

+0

안녕하세요 - 내 문제는 코드 라인에 도달하지 못했습니다 - 내 코드가 아약스 쿼리를 실행하고 있다는 것을 알고 있지만 최대한 멀리까지 받아 들여야합니다. – TotalNewbie

+0

@TotalNewbie 내 업데이트 된 답변을 참조하십시오. – Styphon