本文介绍了利用ajax上传服务器端返回数据的JS处理方法,供大家参考:

关于ajax,据说白色仍然是表单形式提交的。添加一个iframe页面将跳转提交到iframe的内容,导致页面无刷新的错觉。

在过去,我也上传了,基本上使用commons fileupload组件。基本步骤是使用servlet进行处理和上传。使用后printwrite,对象实例的输出和显示内容可以直接输出内容,或输出脚本操作。

复制代码如下:response.getwriter()。写();

或

复制代码如下:response.getwriter()写(上传成功!;

这种方式是将页面结束的操作封装到servlet中。现在需要的是不能触摸服务器servlet。上传后,服务器只返回一个徽标,然后在页面上操作。

一个加载事件可以触发当表单提交到这个iframe,所以提出这一要求的思想:

1、当表单提交时,Load事件注册的iframe。

2,然后使用JS判断返回的标志位。

3,删除绑定事件并避免多个绑定事件。

下面是一个例子。

服务器端稍微简单一点,只返回一个标志位。


包com.justsy.servlet;
进口;
进口java.io.printwriter;
进口javax.servlet.servletexception;
进口javax.servlet.http.httpservlet;
进口javax.servlet.http.httpservletrequest;
进口javax.servlet.http.httpservletresponse;
公共课uploadservlet扩展HttpServlet {
私有静态最终长1l serialVersionUID =;
protected void doGet(HttpServletRequest请求,HttpServletResponse抛出IOException {返回的响应),
This.doPost(请求、响应);
}
protected void doPost(HttpServletRequest请求,HttpServletResponse抛出IOException {返回的响应),
response.getwriter PrintWriter作家=();
response.setcontenttype(文本/ HTML);
writer.print(好);
}
}




js文件


功能submitForm(){
$(# hidden_iframe)。负荷(函数(){)
无功量= document.getelementbyid(hidden_iframe ContentWindow.document.body.innerHTML);
内容= createxml(内容);
var根= $(内容)。查找(root)。EQ(0);
警报(root.text());
$(# hidden_iframe)。Unbind(负载);
});
document.getelementbyid(表)提交();
}
功能createxml(STR){
如果(文件all){
VaR XMLDOM =新的ActiveX对象(微软。XMLDOM );
XmlDom.loadXML(STR);
返回的文档;
}
{其他
返回新的domparser()。ParseFromString(STR,文本或XML);
}
}




HTML文件











这允许页面根据页面返回的内容进行操作。

希望本文能对大家的ajax程序设计有所帮助。