2012-09-16 5 views
1

작동하지만이 작동하지 않습니다 사업부에서 페이지를로드 : 같은 #formtagmain.php을로드 할jQuery를 사용하지만 내가 jQuery를 새로운, 나는이 코드를 사용 해요

<script type="text/javascript" src="jquery.js" ></script> 
<script> 
    $(document).ready(function(){ 
     $("#add_cl").click(function(){ 
      $("#formtag").load("main.php"); 
     }); 
    }); 
</script> 

id="add_cl"을 갖는 버튼을 클릭에 아약스. 이 버튼을 클릭하면 Dreamweaver에서는 라이브 뷰의 main.php 페이지가 표시되지만 Chrome 및 Firefox에는 표시되지 않습니다.

+0

브라우저에서 테스트 할 때이 페이지의 HTML과 동일한 폴더에 'main.php'가 여전히 있습니까? 콜백 함수를 추가하고 서버의 응답을 기록하여 ajax 오류를 확인할 수도 있습니다 (http://api.jquery.com/load/). 브라우저의 웹 콘솔에 이미 일부 오류가 표시 될 수도 있으므로 열어보고 확인하십시오. – nbrooks

답변

1
  • 나는 Chrome을 사용하고 있다고 가정합니다. 이 작업을 로컬로 수행하려면 Xampp과 같은 로컬 서버를 사용해야합니다. 또는 온라인 서버에 업로드하여 테스트하십시오. 작동해야합니다! 대신에 시도 localhost를 사용
  • : 127.0.0.1
  • 크롬 인해 동일한 원본 정책 또는 관련 무언가에 AJAX를 사용하여 버그를 싸움, 그래서 화와 다른 브라우저를 사용하지 마십시오. 추신 : 저는 XAMPP와 Chrome을 사용하며 AJAX는 정말 잘 작동합니다. 또한 당신을

    <button class="loader" data-loadpage="main.php"> Load main.php </button> 
    <button class="loader" data-loadpage="about.php"> Load about.php </button> 
    <button class="loader" data-loadpage="contact.php"> Load contact.php </button> 
    
    $(document).ready(function(){ 
        $(".loader").click(function(){ 
         $("#formtag").load($(this).data('loadpage')); 
        }); 
    }); 
    

    :
    이 URL을 저장하는 data 속성을 사용하려고 같은 요소 내에 다른 페이지를로드 : 희망 그것은 당신의 의견에

관련 도움 또한 을 시도하여 #formtag에서 이전 콘텐츠를 삭제할 수 있습니다 :
$("#formtag").empty().load($(this).data('loadpage'));

+0

나는 wamp에서 확인했지만 작동하지 않는다. – sadi

+0

@ sadi ok,'localhost'를 사용하는 대신'127.0.0.1'을 사용합니다. –

+0

은 127.0.0.1에서는 작동하지만 크롬에서는 작동하지 않습니다 – sadi

0

http://jsfiddle.net/bozdoz/uZ5XS/

HTML :

<span id="load">Click to Load content</span> 
<div id="test"></div> 
<div id="loadingGif">LOADING GIF!!!!</div>​ 

스크립트 :

$('#load').click(function() { 
    $('#test').html(''); 
    $('#loadingGif').show(); 
    $('#test').load('http://fiddle.jshell.net/bozdoz/2XgVd/show/ a', function() { 
     $('#loadingGif').hide(); 
    }); 
});​ 
0

콜백 함수

는 "완전한"콜백이 제공되는 경우, 포스트 후 실행 처리 및 HTML 삽입이 수행되었습니다. . 콜백은 jQuery 컬렉션의 각 요소에 대해 한 번 발생하며 각 DOM 요소에 차례대로 설정됩니다.

<script type="text/javascript" src="jquery.js" ></script> 
<script> 
    $(document).ready(function() { 
     $("#add_cl").click(function() { 
      $("#formtag").load("main.php", function(response, status, xhr) { 
       if (status == "error") { 
        var msg = "Sorry but there was an error: "; 
        alert(msg + xhr.status + " " + xhr.statusText); 
       } 
      }); 
     }); 
    });​ 
</script> 

또한 브라우저에서 테스트 할 때 즉,이 페이지의 HTML과 같은 폴더에 여전히 'main.php'인가 확인하십시오? 또한 콜백 함수를 추가하고 서버의 응답을 로깅하여 아약스 오류를 확인할 수 있습니다.

+0

예 "main.php"가 같은 폴더에 있습니다. 경고로드가 수행되었지만 "main.php 페이지"를로드하지 않았습니다. – sadi

+0

수정 된 코드를 다시 시도하고 오류를 보내주십시오. 또한 해당 페이지에 요소 이름 formtag가 있는지 확인하십시오. – Pushpendra

+0

답변에 jQuery 문서 또는 다른 사람의 의견을 인용 할 경우 따옴표로 묶어 주석 처리하십시오. 사실, 나는 그것이 확실히 저작권 문제의 일종이라고 확신한다. – nbrooks

관련 문제