2012-08-02 1 views
1

.get 호출을 사용하여 페이지로드 또는 버튼 누름으로 요소를 업데이트하는 데 문제가 있습니다.jQuery get 함수가 실수로 전체 웹 페이지를 반환합니다.

코드 ...

$(document).ready(function() { 
    //updateVariable(); 
    $('#dannychoolink').html('<?php dannyChoo()?>'); 
    $('.danny-choo').attr('target', '_blank'); 
}); 

$('#clicky').mouseenter(function() { 
     $('#dannychoolink').html('Click for a Random DannyChoo.com Article'); 
     }).click(function() { 
      updateVariable(); 
      $('#dannychoolink').html('YA!'); 
      //$('#dannychoolink').html('<?php dannyChoo()?>'); 
      //$('.danny-choo').attr('target', '_blank'); 
     }); 

function updateVariable() { 
    $.get('random.php', 
      function(output){ 
       $('#dannychoolink').html(output); 
       $('.danny-choo').attr('target', '_blank'); 
      } 
     ); 
}; 

이 같은 데이터베이스 항목 메아리 하나의 기능을 보유하고 random.php를 호출 updateVariable() 기능 :

<a href="http://www.dannychoo.com/post/en/26568/Nendoroid+Moekana.html" class="danny-choo">Nendoroid Moekana</a> 

아이디어는 임의의 항목을로드하는 것입니다 (함수 내에서 수행됩니다.) 페이지로드 및 클릭 중.

이것은 내 홈페이지 (http://www.danielbough.com)에서 완벽하게 작동하지만 개별 기사에서 예상대로 작동하지 않습니다 (updateVariable 함수는 실제로 개별 기사 페이지와 동일한 HTML의 전체 페이지를 반환합니다. (예를 들어, http://www.danielbough.com/articles/fun-with-jquery-and-ajax)

각 페이지가 포함되어 있습니다. 개별 파일. '홈페이지'

  • header.file
  • navigation.file (
    여기에 상주하는 dannychoolink와 르 달아주세요 요소)
  • homepage.file
  • footer.file

개인이다 기사는 다음과 같습니다.

  • header.file
  • navigation.file (
    여기에 상주하는 dannychoolink와 르 달아주세요 요소)

footer.file

  • view.file는 내가보기에 몇 가지 타의 추종을 불허하는 태그가있을 수 있습니다 생각했다. 파일을 볼 수는 없었습니다.

    updateVariable() 호출은 문서가 충돌 할 때까지 계속로드 되었기 때문에 내 document.ready 함수에서 호출을 주석 처리해야했습니다.

    개별 기사 페이지가로드되거나 'clicky'요소를 클릭하면 JavaConsole이 'Uncaught SyntaxError: Unexpected token < '으로 표시됩니다. 나는 이유를 알지 못한다.

    참고로 Google+ 및 Twitter 통화도 view.file에 있습니다. 테스트하는 동안 제거했지만 영향은 없습니다.

    UPDATE 'Uncaught SyntaxError: Unexpected token < ' 오류가 ckeditor.js와 구글의 jquery.min.js에 의해 발생했다. Google js 라이브러리를 '전체'1.7.2 버전으로 업데이트하고 테스트 할 ckeditor.js를 제거했습니다. Java 오류는 사라졌지만 get 함수의 문제는 남아 있습니다.

  • 답변

    0

    서버의 서로 다른 두 위치에서 상대 경로 (이 경우 random.php)를 통해 파일에 액세스하려고합니다.기사의 경우 http://www.danielbough.com/articles/random.php을 얻으려고 노력하는 중입니다.이 페이지는 내용이없는 일반 페이지를 제공하기 때문에 전체 HTML을 왜 가져 왔는지 알 수 있습니다.

    해결책은 random.php에 절대 URL을 제공하는 것이고, 나는 그것이 이라고 생각합니다. 그래서 뭔가가 : $.get('http://www.danielbough.com/random.php',

    +0

    Paul - 당신 말이 맞아요. 나는 실제로 그 결론에 도달했다. (내가 mod_rewrite 규칙을 그림 밖으로 가져 왔을 때.) 빠른 답장을 보내 주셔서 감사합니다. - '힘든 길을 배우는'것이 멈출 것인가?! ;) –

    +0

    당신도 그것을 알아낼 수 있었기 때문에 다행입니다. 아니, 절대 그렇지 않아. –

    관련 문제