2011-09-30 5 views
1
아약스

에 의해 호출 페이지에서 작동하지 않습니다 : 그 페이지를 볼 수는 있지만 때JQuery와는

$(document).ready(function() { 
        alert('moo'); 
       }); 

그것은 경고를 표시합니다 해당 페이지는 경고 다음 Ajax를 통해 호출되는 경우 어떤 아이디어가 보이지 않을거야? 또는이 문제를 해결하는 방법?

참고 :

$(document).ready(function() 
    { 
     $('ul#ui-ajax-tabs li a').click(function (e) 
     { 
      e.preventDefault(); 
      $("ul#ui-ajax-tabs li").removeClass("selected"); 
      $(this).parents('li').addClass("loading"); 
      var url = $(this).attr("href"); 
      var link = $(this); 
      $.ajax({ 
       url: url, 
       success: function (responseHtml) 
       { 
        //$('div#ui-tab-content').html($(responseHtml)); 
        $('div#ui-tab-content').html($(responseHtml).find('div#ui-tab-content > div#ui-ajax-html')); 
        $(link).parents('li').addClass('selected'); 
        $("ul#ui-ajax-tabs li").removeClass("loading"); 
        History.pushState(null, $(responseHtml).filter('title').text(), url) 
       }, 
       error: function (responseHtml) 
       { 
        $('div#ui-tab-content').html('<div class="message error"><p><strong>Something went wrong...</strong> Please contact the Administrator!</p></div>'); 
        $(link).parents('li').addClass('selected'); 
        $("ul#ui-ajax-tabs li").removeClass("loading"); 
        History.pushState(null, $(responseHtml).filter('title').text(), url) 
       }, 
       statusCode: 
       { 
        404: function (responseHtml) 
        { 
         $('div#ui-tab-content').html('<div class="message error"><p><strong>Error 404 (Not Found)</strong> Please contact the Administrator!</p></div>'); 
         $(link).parents('li').addClass('selected'); 
         $("ul#ui-ajax-tabs li").removeClass("loading"); 
         History.pushState(null, 'Error 404 (Not Found)', url) 
        }, 
        500: function (responseHtml) 
        { 
         $('div#ui-tab-content').html('<div class="message error"><p><strong>Error 500 (Internal Server Error)</strong> Please contact the Administrator!</p></div>'); 
         $(link).parents('li').addClass('selected'); 
         $("ul#ui-ajax-tabs li").removeClass("loading"); 
         History.pushState(null, 'Error 500 (Internal Server Error)', url) 
        } 
       } 
      }); 
     }); 
    }); 
+0

아약스 코드를 제공해 주시겠습니까? – genesis

+0

ajax-request가 페이지를 호출하는 방법을 정의합니다. 응답은 어디에 포함합니까? –

+0

Google 크롬 또는 Mozilla Firefox에서 테스트 하시겠습니까? Ctrl + Shift + J를 입력하고 오류를 표시하십시오. –

답변

2

귀하의 웹 페이지 텍스트입니다 :이 요청에 따라 내가 실제로 내 실제 응용 프로그램에서

감사

아약스 재즈 경고를 표시하고 있지 않다 자바 스크립트 및 테스트입니다. 사용하는 브라우저는 서버에서 요청할 때 해석합니다.

아약스 요청을하는 경우 내용은 변수에 대한 작업을 기다리는 문자열로 표시됩니다. 스크립트가 있으면 문제가되지 않으며 자동 실행되지 않습니다.

innerText로 스크립트 요소를 만들고 브라우저에 의해 실행되도록 DOM에 추가해야합니다. 당신이 AJAX를 호출하지만() 함수를

0

귀하의 원격 JS 코드가 실행되지 않습니다 Ajax를 통해이 자바 스크립트가 포함 된 서버에서 HTML (동적 또는 기타)을 요청하고 있다는 것을 의미합니까?

그렇다면 해당 스 니펫이 실행되어야하지만 DOM에 삽입해야합니다. 아무튼 경고

jQuery .load()

0

당신이 "호출"하는 말 페이지를 텍스트로 JS 스크립트를 반환하고, 평가를 사용하여 페이지를 실행할 수 있습니다 때

0

이유 : 당신이 jQuery를,이다 "부하"방법을 서버에서 HTML을 받고 그것으로 DOM 요소의 내용을 대체하는 가장 일반적인 방법을 사용하는 경우

"문서"가 이미 "준비"상태를 실행했기 때문에 아약스 요청시 발생하지 않습니다.

js 파일 (alert()을 그대로 둡니다)에서 $(document).ready()을 제거하고 ajax를 통해로드하십시오. 그것은 작동해야합니다.

+0

시도해도 여전히 작동하지 않습니다. – Cameron