国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > AJAX > 正文

Ajax上傳實現根據服務器端返回數據進行js處理的方法

2024-09-01 08:28:29
字體:
來源:轉載
供稿:網友

本文實例講述了Ajax上傳實現根據服務器端返回數據進行js處理的方法。。具體如下:

Ajax上傳說白了還是使用form表單提交,在當前頁面加一個iframe,將提交的內容跳轉到iframe中,造成一種頁面無刷新的錯覺。

以前也做過上傳,基本是是使用commons-fileupload組件,基本的步驟是使用servlet處理完上傳之后,使用PrintWrite的對象實例輸出顯示內容,可以是直接輸出內容,也可以是輸出script進行操作如
代碼如下:response.getWriter().write("<script type=/"text/javascript/"> parent.item_update.uploadUponSize();</script>");


代碼如下:response.getWriter().write("上傳成功!");

這種做法是把對頁面端的操作都封裝到servlet中,現在一個需求是你接觸不到服務器端servlet,而上傳成功之后服務器只會返回一個標志符,然后在頁面進行操作。
可以根據form表單提交到這個iframe時會觸發(fā)一個load事件,所以對于這個需求的思路是:

1、在form表單提交時,給iframe注冊load事件。

2、然后使用js對返回的標志位進行判斷操作。

3、移除綁定事件,避免多次綁定事件。

下面貼一個例子。

對于服務器端簡單一點,只會返回一個標志位。

package com.justsy.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class UploadServlet extends HttpServlet {   private static final long serialVersionUID = 1L;   protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {     this.doPost(request, response) ;   }   protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {     PrintWriter writer = response.getWriter() ;     response.setContentType("text/html") ;     writer.print("<root>ok</root>") ;   } } 

js文件

function submitForm(){   $("#hidden_iframe").load(function(){     var content = document.getElementById("hidden_iframe").contentWindow.document.body.innerHTML;     content = createXml(content);     var root = $(content).find("root").eq(0);     alert(root.text());     $("#hidden_iframe").unbind("load");   });   document.getElementById("form2").submit(); } function createXml(str){   if (document.all) {     var xmlDom = new ActiveXObject("Microsoft.XMLDOM");     xmlDom.loadXML(str);     return xmlDom;   }   else {     return new DOMParser().parseFromString(str, "text/xml");   } } 

html文件

<form action="uploadServlet.do" id="form2" enctype="multipart/form-data" method="post" target="hidden_iframe">  <input type="hidden" name="method" value="uploadExcel" /><input type="button" value="Submit" onclick="submitForm()"/></form><iframe name="hidden_iframe" id="hidden_iframe" width="300" height="200"></iframe>            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 东平县| 遂川县| 通江县| 丰都县| 新源县| 达日县| 磐石市| 高碑店市| 抚远县| 霍林郭勒市| 镇江市| 隆子县| 晋州市| 新平| 大城县| 科技| 新田县| 株洲县| 阜宁县| 凌海市| 焉耆| 安庆市| 石台县| 长春市| 阜康市| 崇阳县| 曲阳县| 敦煌市| 闽侯县| 万年县| 甘泉县| 喜德县| 米泉市| 洛宁县| 虎林市| 衡南县| 阿鲁科尔沁旗| 抚顺市| 永安市| 社旗县| 灵川县|