form.submit()提交后返回数据的处理

form.submit()发送请求通常是单向的,若是须要取返回的数据,通常会发送ajax请求,可是若是form中有附件呢?(之后有时间给你们分享ajax上传附件的功能),确实须要返回数据来知道该功能是否执行成功呢?个人解决方法是在form 中增长一个target属性,让其返回的数据添加到一个隐藏的iframe的控件中,返回的数据javascript

 <label for="a"> 上传附件 </label>  
               <form id="uploadForm"  enctype="multipart/form-data" target="frameFile"  method="post">
             
                 <input type="file" id="a" name="a" onchange="fileUpload()" style="position:absolute;top:0px;right:0px;cursor:pointer; opacity:0;filter:alpha(opacity:0);z-index:999;"    />
                         
              </form>
                <iframe id='frameFile' name='frameFile' style="display:none">    
                </iframe>

如下是返回页面中后台返回数据的处理java

<script type="text/javascript">
    try {
        var data = eval("($result)")

        if (data.success) {
            alert(data.res)
        }
        window.top.LoadByFrame(data.success);
    } catch (e) {
        window.top.closeBg();

    }
</script>
function fileUpload()
    {
        var form = document.getElementById('uploadForm'); 
        form.action="XXX.do?";
        form.submit();
    }

这样就可以在隐藏的iframe中显示处理过的数据了 ajax