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에 따라 라이센스가 부여됩니다.