2013-02-07 5 views
0

양식이 있습니다 Ajax를 통해 모든 매개 변수로 전송했습니다. 양식 데이터를 보내지 마십시오.Ajax 양식을 통해 데이터 보내기

<from action="" method="post" enctype="multipart/form-data"> 
    <input type = "file" name = "adrfile" /> 
    <input type = "button" value="Upload" onclick="javascript: upload();" /> 
</form> 
+0

이 어디'upload' 기능입니다? –

답변

2

파일 업로드가 AJAX를 간주되는 전통적 XMLHttpRequest 객체와 함께 할 수 없습니다 : 나는 아약스를 통해

html 코드를 양식 데이터를 전송하는 방법을 내 질문입니다. 파일 업로드를 만들고 비동기로 만들려고 할 때 대부분의 사람들이 사용하는 접근 방식은 양식을 제출하고 iframe을 타겟팅하는 것입니다. 내가 Uploadify 같은 자바 스크립트 라이브러리를 사용하는 것이 좋습니다.

많은 도움이되는 JQuery 플러그인이 있습니다. 빠른 Google 검색은 많은 옵션을 제공합니다.

+0

덕분에, 내 문제는 XMLHttpRequest 객체이었다. 깨닫지 못했습니다. – geeking

1

두통을 원하면 Firefox, IE, Safari 및 Opera의 최신 버전 등 다양한 브라우저에서 수행 할 수 있습니다. OBJ가 input type="file" 항목의 목적은 (같은 JS의 summat에서

필요 코드 : 그런 다음 데이터 (기본 64 등)를 암호화하고 다른 것들과 함께 그것을 보내 JS를 얻을 수 있습니다

function DoReadFile(obj) 
    { 
    if (obj.files) 
    { 
     // Sensible browers 
     if (1 == obj.files.length) 
     { 
     var file = obj.files[0]; 
     try { 
      return obj.files[0].getAsBinary(); 
     } 
     catch (error) 
     { 
      // Blank 
     } 
     } 
    } 
    else 
    { 
     // IE 
     try 
     { 
     var fileSystem = new ActiveXObject("Scripting.FileSystemObject"); 
     var fileHandle = fileSystem.OpenTextFile(obj.value, 1); 
     var contents = contents.ReadAll(); 
     contents.Close(); 
     return contents; 
     } 
     catch (error) 
     { 
     // Blank 
     } 
    } 
    throw "Cannot read file"; 
    } 

게시물로.이.

을하지만 여러 부분으로 양식 할 수 없다 그러나 그것은 시간 낭비의 비트입니다.

관련 문제