form表单如何取得返回值
因为是文件上传,所以不可以用ajax,也无法用formdata的append方法,更无法创建formdata时指定form。上传的java方法是调用其他接口,代码不允许改...
因为是文件上传,所以不可以用ajax,也无法用formdata的append方法,更无法创建formdata时指定form。上传的java方法是调用其他接口,代码不允许改。只能改本地上传的js文件。
现在其他浏览器都可以用formdata的append上传,然后获取到服务器的状态。
但是IE9无法使用该方法,因为上传文件的JAVA方法不允许修改,上传也要带参数,所以无法使用ajaxfileupload.js,只能直接document.form.submit()。这时候,我需要取得服务器返回的值,请问怎么获取?
或者有什么其他的方案也可以提出来。
我是希望获取到服务器的状态,比如已经上传完毕了,已经可以不跳转到别的页面了。 展开
现在其他浏览器都可以用formdata的append上传,然后获取到服务器的状态。
但是IE9无法使用该方法,因为上传文件的JAVA方法不允许修改,上传也要带参数,所以无法使用ajaxfileupload.js,只能直接document.form.submit()。这时候,我需要取得服务器返回的值,请问怎么获取?
或者有什么其他的方案也可以提出来。
我是希望获取到服务器的状态,比如已经上传完毕了,已经可以不跳转到别的页面了。 展开
2个回答
展开全部
1、首先需要创建asp.net mvc的空项目MVCForm。
2、在Models文件夹下面添加一个类文件Employee,用于form表单中字段绑定与提交,其中涉及到int、string、bool多种类型的字段。
3、在Controllers文件夹下面添加一个HomeController,用于接收与处理页面请求,此时就直接添加一个控制器即可,默认就有Index Action。
4、在HomeController的Index方法中点击右键,添加视图,会自动生成与Action相同名字的页面。
5、在Index页面中添加Form表单,包含Models文件夹下Employee实体的所有字段,同时,添加一个提交form的按钮。
6、在HomeController中添加一个用于接收页面form参数的方法。
7、调试模式下运行效果如下,页面表单数据都提交到了Controller中且取的返回值。
展开全部
你要兼容到小于等于IE9的话,最好是用form+iFrame来完成。提交form的时候界面会跳转,所以把界面跳转指向iFrame,这样表单提交了,跳转的只是iFrame里面的内容,把iFrame隐藏掉,就像异步提交一样(实际上不是异步,是伪装的)。你上传带的参数有哪些?调用java保存文件的接口时是不是使用一个URL,比如url:"upload.do"?
更多追问追答
追问
不是,我form设置onsubmit="return false"也可以让它不跳转。我要的是读取到服务器的状态,知道服务器已经处理完上传请求了,才可以进行下一步操作。
追答
form+iframe是可以读取服务器状态的。表单一但提交,服务器就会处理请求,处理完请求之后,就会把返回值放到iframe中,iframe就会跳转,但是你本身的页面是不会跳转的。相当于一个异步请求。你给iframe加上onload事件,一旦这个事件触发,就表示服务端把你的请求处理完毕了,本来是要跳转页面的,但是因为有iframe的存在,页面不会跳转,跳转的只是iframe,把他隐藏,就完全没有影响。你进行下一步动作就行了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询