iframe 효과 모방 Aajx 파일 업로드
나중에 인터넷 의 일부 해결 방안 을 보 았 는데 기 존의 aax 가 파일 을 업로드 하 는 봉인 방법 도 플래시 를 이용 한 것 이 있 었 다.플래시 는 좋 은 방법 이지 만 누구나 플래시 를 할 수 있 는 것 이 아니 라 기 존 방법 을 다운로드 해서 수정 하 는 것 도 쉽 지 않 고 파일 이 상대 적 으로 크다.결국 iframe 을 모 의 해서 이 루어 질 수 밖 에 없 었 다.발견 은 상당히 간단 하 다.
html:
1 < iframe name = "ajaxUpload" style = "display:none" ></ iframe > 2 < form name = "from1" id = "from1" method = "post" action = "url" enctype = "multipart/form-data" target = "ajaxUpload" > 3 < table > 4 < tr > 5 < td > :</ td > 6 < td >< input type = "file" id = "document" name = "document" /></ td > 7 </ tr > 8 </ table > 9 </ form > 여기 가 포인트 야.파일 enctype 을 업로드 하려 면 이 속성 이 적지 않 습 니 다. target 의 값 은 iframe 의 name 값 으로 바 꿉 니 다.
다음은 js 코드 를 쓰 겠 습 니 다. 저 는 jQuery 를 사용 하기 때문에 사용 할 때 jquery 라 이브 러 리 를 불 러 오 는 것 이 필요 합 니 다.
1 $( function (){ 2 if ($.browser.msie){ 3 window.form1.submit();} else { 4 $( "#form1" ).submit();} 5 }); IE 는 규범 에 맞지 않 는 브 라 우 저, 특히 IE6 이기 때문에 브 라 우 저 버 전의 판단 을 내 렸 다.IE6 는 $("\ # idName") 를 직접 지원 하지 않 습 니 다. submit ();이런 식 으로.
서버 는 다음 과 같 습 니 다. 값 을 되 돌려 야 합 니 다. 직접 submit 는 값 을 되 돌려 줄 수 없습니다.
01 public void Upload() 02 { 03 HttpPostedBase ff=Request.Files[ "document" ]; // , 04 string fileName=System.DateTime.Now+ff.FileName.ToString(); // , 。 , 。 05 try 06 { 07 SaveAs(documentPath+fileName+extendtionName); 08 Response.Write( "<script type='text/javascript' type='language'>parent.window.callBackMethod(' ');</scrpt>" ); 09 } 10 catch 11 { 12 Response.Write( "<script type='text/javascript' type='language'>parent.window.callBackMethod(' ');</scrpt>" ); //parent.window.methodName(); JS 。 iframe , iframe 。 target iframe 。 iframe , 。 alert() , 。 。 13 } 14 } 아 날로 그 iframe 은 페이지 부분 업데이트 이지 만 페이지 의 이 iframe 은 내용 이 없고 표시 되 지 않 기 때문에 전체 페이지 에 영향 을 주지 않 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
jQuery 전후 예이 기사에서는 jquery after() 및 before() 메소드의 예를 볼 것입니다. before() 메서드는 선택한 요소 앞에 지정된 콘텐츠를 삽입합니다. after() 메서드는 선택한 요소 뒤에 지정된 콘텐츠...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.