关于上传文件 非ajax提交 得到后台数据问题
<form name="configForm" id="configForm" method="post" action="" >
..........
</form>
根据id获得表单数据然后发送ajax请求,获得后台返回数据,处理数据,完美。
但是如果需要上传文件,
<tr>
<td class="fontSize">请选择文件:</td>
<td><input type="" class="easyui-filebox" id="fileImport" name="file" value="" style="width:300px;"></td>
</tr>
这个文件数据后台得不到,表单数据这个file也是null,这时需要
<form name="configForm" id="configForm" method="post" action="" enctype="multipart/form-data" >
添加的这个enctype="mutipart/form-data" 后台可以
@RequestMapping("/saveAppVersion")
@ResponseBody
public ModelMap saveAppVersion(String action, TbdAppVersion tbdAppVersion,
@RequestParam(value = "file") MultipartFile file) {....
}
接收。
但是必须要表单提交请求数据,ajax仍然不行(具体原因可以百度。。)
<form name="configForm" id="configForm" method="post" action="/admin/systemConfig/saveAppVersion.do" enctype="multipart/form-data">
......
</form>
easyui里面的js submit提交
handler : function() {
$("#configForm").submit();
}
那么问题来了,提交过后如何获得后台返回数据呢?
<form name="configForm" id="configForm" method="post" action="/admin/systemConfig/saveAppVersion.do"
enctype="multipart/form-data" target="myIframe"> 。。。。。 </form>
<iframe name="myIframe" id="if_json" style="display:none">
</iframe>
在表单里添加一个target,也就是说提交成功返回的数据写在了name为myIframe的这个iframe中,只刷新这个iframe,接下来就是获得这个数据了,
虽然百度不是什么好鸟,但是有些东西还是可以找到的,比如以下获取iframe数据的方法!
handler : function() {
$("#configForm").submit();
$("#if_json").load(function(){//获取iframe中的内容
var body = $(window.frames['myIframe'].document.body);
var data = eval('(' + body[0].textContent + ')');
if(data.resultCode && data.resultCode != 0){
.........
}else{
.........
}
});
}
关于上传文件 非ajax提交 得到后台数据问题的更多相关文章
- Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用
1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...
- 面向对象,继承,浏览器,上传文件, ajax
'use strict'; //父类 class Student2{ constructor(name){ this.name = name || 'tom'; } hello(){ console. ...
- 使用formData上传文件,ajax上传
项目是vue项目,直接贴部分代码了: html: <input type="file" name="fileTable" @change="ch ...
- 使用HttpClient以文件流的方式上传文件(非multipartFormData方式)
@Test public void testAdd() throws IOException { HttpPost post = new HttpPost("http://localhost ...
- asp.net MVC ajax上传文件
普通上传 view: <body> <form id="form1" method="post" action="@Url.Acti ...
- 一个ajax实现表单上传文件的神器 formdata
通过传统的form表单提交的方式上传文件: $.ajax({ url : "http://localhost:8080/STS/rest/user", type : "P ...
- Django框架 之 Form表单和Ajax上传文件
Django框架 之 Form表单和Ajax上传文件 浏览目录 Form表单上传文件 Ajax上传文件 伪造Ajax上传文件 Form表单上传文件 html 1 2 3 4 5 6 7 <h3& ...
- Spring使用ajax异步上传文件
单文件上传 <!-- 创建文件选择框 --> 文件上传 :<input type="file" id="file" name="fi ...
- Ajax 上传文件(input file FormData)
FormData对象用以将数据编译成键值对,以便用XMLHttpRequest来发送数据.其主要用于发送表单数据,但亦可用于发送带键数据(keyed data),而独立于表单使用. jQuery Aj ...
随机推荐
- 面向对象程序设计第四单元总结(UML系列)
2019面向对象程序设计第四单元总结 前言 本单元是面向对象程序设计课程的最后一个单元了,本单元是和UML模型相关,也就是说,我们需要正确理解UML模型的基础上,对构建出的UML模型进行解析,但是 ...
- 集合(Map、可变参数、Collections)
集合 第1章 Map接口 1.1 Map接口概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. l Collection中的集 ...
- 关于原生javascript的this,this真是个强大的东东
最近一直坐在东钿微信服务平台,上上级领导提出一个要求,就是微信分享. 因为首页是一个tab切换页,领导想在分享的时候区分上产调还是评估.我研究了很久很久,一直都是失败,今天领导又问了.于是我就向我们老 ...
- Easyui validatebox后台服务端验证
Easyui validatebox的验证提示十分好用,可是在实际项目的运用中,经常会遇到需要服务器验证后并返回验证结果信息,比如验证用户名.手机号.邮箱是否已存在.于是就想着怎么拓展Easyui的验 ...
- Linux之bash shell的学习
1.什么是bash shell bash 是Bourne Again Shell的简称,是从unix系统中的sh发展而来,是用户和偶Linux内核交互的工具,用户通过bash操作内核完成系统的使用和 ...
- AdonisJs(Node框架)学习总结
先列出作为前端开发人员必须知道的10个NodeJs框架 AdonisJs 一个服务端渲染的MVC框架,它是 Laravel (PHP框架)的一个 NodeJS 版本. 可以安装脚手架工具adonis ...
- js修改文档的样式
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Java ...
- userBean的删除
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- 打印机 Microsoft Print to PDF 所需的驱动程序 Microsoft Print To PDF 未知。登录之前,请与管理员联系,安装驱动程序。
这个问题发生后,我觉得很疑惑,因为服务器上确定没有安装打印机.那么打印机是从哪里来的呢? 通过百度搜索,发现网上的一个帖子解答了我的疑惑.原帖地址:http://blog.chinaunix.net/ ...
- Html.Action Html.RenderAction Html.Partial Html.RenderPartial Url.Action Html.ActionLink 大括号和小括号区别
在查阅了一些资料后,结论如下: Action 是以mvchtmlstring的方式返回一个结果,RenderAction 无返回值,速度上action慢于RenderAction partial和Re ...