2011-09-26 5 views
0

.txt 파일을 찾을 때 표시되는 숨겨진 div를 만들려고했습니다. 해당 div에 .txt 파일의 내용이 표시됩니다.파일을 찾을 때 나타나는 숨겨진 div를 만드는 방법은 무엇입니까?

그럴 수 있습니까?

나는 jQery를 사용하여 성공을 거두려고 노력했다.

Idea는 간단합니다. 서버의 동일한 폴더에있는 .txt 파일의 내용을 표시하는 일정한 크기의 div 상자가 있지만 .txt 파일 div가 숨겨져있는 경우 (예 : jquery $ ("p ").숨는 장소();).

+2

정확히 무슨 일이 잘못에 대한 명확한 설명과 함께 코드를 게시하시기 바랍니다. 그것이 그렇듯, 당신의 질문은 너무 일반적이고 답변 할 수 없습니다. – Carpetsmoker

+0

"파일을 찾을 때"를 정의하십시오. 예 : 어디에서 발견 했습니까? – Alnitak

+0

일반적으로 HTML 페이지에서 파일 시스템을 직접 볼 수 없으므로 "파일을 찾을 수 없습니다"라는 것이 무엇을 의미하는지 명확하지 않습니다. 여기서 아약스 전화를하는 중입니까? – JaredPar

답변

1

,하지만 당신은 텍스트에 대한 DIV가 있다고, 당신은 설정하여 그 눈에 보이지 않는 수 그것을 표시하려면 : 없음 CSS에. 이제 ajax 호출로 파일을 가져 오거나 Ajax 헤드 호출을 사용하여 파일이 서버에 있는지 확인할 수 있습니다. 헤드 호출은 헤드셋의 존재 여부 만 확인하고 파일 내용을 얻으려면 다른 아약스 호출이 필요하지만 헤드 호출이 빠를수록 헤드셋의 존재 여부가 더 빠르기 때문에 파일을받는 것이 더 빠릅니다 '파일의 내용을 가져 오지 마라.

EDIT :하지만 파일이 없으므로 아무 것도 얻을 수 없으므로 "get"이 두 상황 모두에서 더 빠르기 때문에 여기서는 헤드 호출이 필요하지 않을 수도 있지만 예제에서는 여전히 if 서버에 파일이 있고, 존재하지 않거나 존재하지 않으면 무언가를하십시오.

다음과 같이 보일 것입니다.

$.ajax({ 
    url:'http://www.mysite.com/myfile.txt', 
    type:'HEAD', 
    error: function() 
    { 
     //file does not exists, no need to do anything 
    }, 
    success: function() 
    { 
     //file exists get the file and put in the textcontainer and make that visible 
     $.ajax({ 
      url:'http://www.mysite.com/myfile.txt', 
      success: function(data) 
       { 
       $("#textcontainer").show().text(data); 
       } 

    } 
}); 

또는 디스플레이를 볼 수 textcontainer와 다른 방법으로 주위 : 블록 등 :

$.ajax({ 
    url:'http://www.mysite.com/myfile.txt', 
    type:'GET', 
    error: function() 
    { 
     //file does not exists, hide the textcontainer 
     $("#textcontainer").hide(); 
    }, 
    success: function(data) 
    { 
     //file exists get the file and put in the textcontainer that is already visible 
     $("#textcontainer").text(data); 
    } 
}); 
3

내가 아는 한 이것은 불가능합니다. 파일이 서버에 존재하고 무엇인가를 반환하는지 확인하는 PHP 페이지에 대한 ajax 호출을 수행 할 수 있지만 jQuery를 사용하여 직접로드/확인하는 것은 브라우저 보안을 위반하므로 사용자가이를 허용해서는 안됩니다. 당신이 오류를 처리 할 수 ​​http://api.jquery.com/jQuery.get/에 따르면

0

: 스크립트는 또한 글로벌 .ajaxError() 메소드를 호출하지 않는 한

jQuery.get와 요청() 오류 코드를 반환하는 경우, 그것은 자동으로 실패합니다.

또한 해당 페이지에서 http://api.jquery.com/jQuery.ajax/#jqXHR

예를 참조하십시오 : 이것은 사용에 따라

// Assign handlers immediately after making the request, 
// and remember the jqxhr object for this request 
var jqxhr = $.ajax({ url: "example.php" }) 
    .success(function() { alert("success"); }) 
    .error(function() { alert("error"); }) 
    .complete(function() { alert("complete"); }); 

// perform other work here ... 

// Set another completion function for the request above 
jqxhr.complete(function(){ alert("second complete"); }); 
관련 문제