首页 > 其他 > 详细

AJAX 表单提交 文件上传

时间:2014-04-22 20:18:47      阅读:439      评论:0      收藏:0      [点我收藏+]

1. AJAX = 异步 JavaScript 和 XML。

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

bubuko.com,布布扣
<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>
bubuko.com,布布扣

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

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

bubuko.com,布布扣
    $.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!");
        }
    }
bubuko.com,布布扣

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

bubuko.com,布布扣
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");
                          }    
                      });
bubuko.com,布布扣

 

AJAX 表单提交 文件上传,布布扣,bubuko.com

AJAX 表单提交 文件上传

原文:http://www.cnblogs.com/stay-9527/p/3680169.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!