Ajax最大的特色就是能夠不刷新頁面而實現數據的通訊及更改頁面信息。那麼用AJAX進行後臺通訊傳遞字符串仍是能夠的,遇到上傳文件該怎麼辦呢?基於安全考慮,JS是不能直接進行文件操做的,只好用原始的from來提交文件上傳了。這樣一來,用form不就要刷新頁面了嗎?其實也不是。javascript
給咱們的from加一個target屬性,而且將這個屬性的值設置爲隱藏的iframe的ID,這樣一來,刷新的頁面是咱們隱藏的iframe,咱們的頁面就不會刷新了。這個方法,時廣大前輩的知識和經驗的結晶,我是不費吹灰之力拿來用了,站在巨人的肩膀上。html
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>AjaxUpload</title> </head> <body onLoad="javascript:alert('onload')" onUnload="javascript:alert('onunload')"> <form name="AjaxUpload" method="post" action="upload.jsp" target="hidden_frame"> <input type="submit" name="Submit" value="提交"> </form> <iframe name='hidden_frame' id="hidden_frame" style="display:none"></iframe> </body> </html>