1. AJAX = 异步 JavaScript 和 XML。

  AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。提高用户体验度。
  主要是使用XMLHttpRequest 对象

<script type="text/javascript" >
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()//读取状态
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var data = xmlhttp.responseText;//
//Text <h1>successMessage</h1> 直接使用
//Json {'data':'success'} 自动解析为script对象 使用data.data=='success'
//XML <?xml encoding="UTF-8">
// <title>无题<title>
// </xml>
//data.documentElement.getElementsByTagName("title")[0].firstChild.nodeValue == '无题'
document.getElementById("txtHint").innerHTML=data;
}
}
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");// 可选值
xmlhttp.open("GET","/ajax/Test.action?data=HelloWorld",true);
xmlhttp.send();
</script>

请求状态readyState  0: 请求未初始化
          1: 服务器连接已建立  
          2: 请求已接收
          3: 请求处理中
          4: 请求已完成,且响应已就绪

2.Jquery 提供了对AJAX的封装。使用将简便了。开发更简单了。

    $.ajax() $.get(), $.post()
$.post(){
urlString: 'test.action',//发送请求地址。
data: {"key":"value","key2","value2"},//或者使用$("#formId").serialize()序列化 (可选)Map待发送 Key/value 参数。
callback:function(){alert("OK!");},(可选)Function发送成功时回调函数。
//type (可选)String返回内容格式,xml, html, script, json, text, _default。
success:function(msg)
{
alert("success"+msg.data);//json
}
error:function(result)
{
alert("error!");
}
}

3当表单中存在file属性,需要用到文件上传时就会出问题了。这里需要用到jquery.form.js插件。

var mainform = $("#formId");
mainform.ajaxSubmit({
type: 'post',
url: "hello/formTest.action" ,
beforeSend: function (a, b, c){$("#showMsg").value('正在保存数据中...');},//展示 “正在保存数据”
complete: function (){ $("#showMsg").hide()},//隐藏 “正在保存数据”
success: function(data){
alert("success"+data.data);
},
error: function(result){
alert("error");
}
});

灵活运动ajax可以提高用户体验度。不过要传递数据量较大时最好不要使用。消耗时间太多反而体验变差。

AJAX 表单提交 文件上传的更多相关文章

  1. 传统表单提交文件上传,以及FormData异步ajax上传文件

    传统的文件上传: 只用将form表单的entype修改成multipart/form-data,然后就可以进行文件上传,这种方式常用并且简单. 以下是另一种方式FormData,有时候我们需要ajax ...

  2. Struts2文件上传(基于表单的文件上传)

    •Commons-FileUpload组件 –Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件上传的子项目   •Commons-Fil ...

  3. [原创]java WEB学习笔记49:文件上传基础,基于表单的文件上传,使用fileuoload 组件

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  4. Ajax提交Form表单及文件上传

    刚刚申请下来的博客,写得第一篇.有点小激动,本人以前是一名工业3D设计师突然有些变故做上了JavaWeb开发: 前几天,发现了一些小问题.我在写后台管理页面时,需要上传一张图片.于是我就用很普通的Fo ...

  5. ajax提交表单,支持文件上传

    当我们提交表单但是又不想要刷新页面的时候就可以考虑使用ajax来实现提交功能,但是这有个局限就是当有文件上传的时候是行不通的,下面借助于jquery.form可以很方便满足我们的需求.   1.表单写 ...

  6. 表单多文件上传样式美化 && 支持选中文件后删除相关项

    开发中会经常涉及到文件上传的需求,根据业务不同的需求,有不同的文件上传情况. 有简单的单文件上传,有多文件上传,因浏览器原生的文件上传样式及功能的支持度不算太高,很多时候我们会对样式进行美化,对功能进 ...

  7. Django的form表单之文件上传

    在生成input标签的时候可以指定input标签的类型为file类型 <!DOCTYPE html> <html lang="en"> <head&g ...

  8. php+form表单的文件上传

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. 2020最新Servlet+form表单实现文件上传(图片)

    servlet实现文件上传接受 这几天学了一点文件上传,有很多不会,在网查了许多博客,但是最新的没有,都比较久了 因为我是小白,版本更新了,以前的方法自己费了好久才弄懂,写个随笔方便以后查找 代码奉上 ...

随机推荐

  1. 注解配置的Spring MVC

    基于注解配置的Spring MVC 简单的HelloWorld实例应用   2.1 问题 使用注解的方式重构helloworld应用案例. 2.2 方案 1. @RequestMapping注解应用 ...

  2. 脸识别API微软牛津项目

    微软牛津项目人脸识别API初探 按照董子的这篇博客中的介绍,到微软牛津项目的网站申请到测试用的人脸识别Key,按照官方文档的介绍,把wpf项目建好之后,按照一步步的流程下来就可以完成example中的 ...

  3. Git客户端(Windows系统)的使用(Putty)(转)

    本文环境: 操作系统:Windows XP SP3 Git客户端:TortoiseGit-1.8.14.0-32bit 一.安装Git客户端 全部安装均采用默认! 1. 安装支撑软件 msysgit: ...

  4. 基于注释配置bean和装饰bean

    1.组件扫描 Spring容器能够从classpath(类路径)下自动扫描.侦测和实例化具有特定注释的组件. 2.特定注释组件 –@Component: 基本注解, 标识了一个受 Spring 管理的 ...

  5. C#后台利用正则表达式查找匹配字符

    /// <summary>        /// 发送短信 系统固化短信        /// </summary>        /// <param name=&qu ...

  6. 在ASP.net中的UpdatePanel,弹窗失败解决办法

    原文:在ASP.net中的UpdatePanel,弹窗失败解决办法 最开始我用: Response.Write("<script>alert('和哈呵呵呵呵呵呵!')</s ...

  7. Matlab图像处理系列4———傅立叶变换和反变换的图像

    注意:这一系列实验的图像处理程序,使用Matlab实现最重要的图像处理算法 1.Fourier兑换 (1)频域增强 除了在空间域内能够加工处理图像以外,我们还能够将图像变换到其它空间后进行处理.这些方 ...

  8. POJ 3233 Matrix Power Series(矩阵高速功率+二分法)

    职务地址:POJ 3233 题目大意:给定矩阵A,求A + A^2 + A^3 + - + A^k的结果(两个矩阵相加就是相应位置分别相加).输出的数据mod m. k<=10^9.     这 ...

  9. iOS 开发小技巧

    1.Xcode配置 1.1> 安装Alcatraz包管理器 打开Terminal终端命令行 curl -fsSL https://raw.github.com/supermarin/Alcatr ...

  10. 熊猫猪新系统測试之三:iOS 8.0.2

    本来本猫要等到8.1版本号出来后再做測试的,结果等来等去就是迟迟不推送更新呀!说好10月20号的iOS 8.1呢?为了一鼓作气写完,就先不等了.先拿手头的iOS 8.0.2系统做一下測试吧! 8.x系 ...