先描述下载项目中遇到的问题,在使用jquery form异步上传文件的时候,即使在struts返回视图配置文件中写上type="json",页面中接收到的内容也不会是真正的json字符串,我遇到的是在json串外侧还包了一层html标签<pre/>以至于js回调函数不能正确的解析struts端返回的json数据。
经过各种搜,有前辈也遇到过类似的情况,就此记录下来,以便自己今后查找。
注意以下代码中的红色部分,是关键。
在struts返回视图配置中加入<param name="contentType">text/html</param>即可,还有在异步上传js脚本时dataType: 'json'一定不能省略。
jsp页面首先引入:
<script type="text/javascript" src="js/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
js如下:
function addDevApp(){
if(checkForm()){
$("#addDevAppForm").attr("action",basePath+"/devAppAction!addDevApp")
function fn1(){
$.blockUI({
message: '<img src="../images/loading.gif" align="absmiddle" style="margin-right:20px">'+'<span id="load_span">正提交至云编译平台,可能需要几分钟,请稍后…</span>',
css: { width: '275px' }
});
}
function fn2(data){
$.unblockUI();
var msg = data.errMsg;
console.info(data);
if(msg == null){
alert("应用已提交至云编译平台!","提交云编译",function(){
window.location.href=basePath+"devAppAction!fetchDevAppListWithPage";
});
}else{
alert(msg);
}
}
var options = {
dataType: 'json',
beforeSubmit: fn1,
success: fn2
};
$("#addDevAppForm").ajaxSubmit(options);
}
}
在struts端xml中配置返回视图如下:
<result name="addDevAppSuccess" type="json">
<param name="contentType">text/html</param>
<param name="includeProperties">
errMsg
</param>
</result>
分享到:
相关推荐
表单异步上传,表单中可以支持文件和数据异步上传,
使用jQuery.form插件,实现完美的表单异步提交
基于jquery的异步表单提交【jquery-form.js,其中的Demo是基于SSH的,里面有Struts标签。欢迎下载!
NULL 博文链接:https://chenzheng8975.iteye.com/blog/1922970
基本上都是官方源码,添加了拷贝功能 里面有两种上传方式 form.php 为传统 表单式 ajaxfileupload.php 为异步加载式
jquery.form.js 无刷新异步提交表单js文件 /** * jQuery Form Plugin * version: 3.51.0-2014.06.20 * Requires jQuery v1.5 or later * Copyright (c) 2014 M. Alsup **/
Jquery.form.js是一个可以异步提交表单及上传文件的插件。 示例如下: index.html <!DOCTYPE html> <html> <head> <title></title> <meta charset=utf-8> [removed][removed] ...
jquery 表单插件 可以异步上传表单内容 不用直接构造
异步提交表单和上传文件jquery-form.js
这个跨域异步上传功能我们借助了Jquery.form插件,它在异步表单方面很有成效,而跨域我们会在HTTP响应头上添加access-control-allow-method,当然这个头标记只有IE10,火狐和谷歌上支持,对于IE10以下的浏览器来说,...
jquery.form.js是一个非常强大的用于表单提交的插件。这篇文章主要介绍了jQuery实现jQuery-form.js实现异步上传文件,有兴趣的可以了解一下。
这个跨域异步上传功能我们借助了Jquery.form插件,它在异步表单方面很有成效,而跨域我们会在HTTP响应头上添加 access-control-allow-method,当然这个头标记只有IE10,火狐和谷歌上支持,对于IE10以下的浏览器来说...
本篇文章主要介绍了springmvc利用jquery.form插件异步上传文件示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
使用jquery.form.js插件,可以完美实现的表单异步提交哦,亲测可用。
仅为个人使用。
异步表单提交插件,MVC模式下,可以异步提交指定表单信息,虽然MVC自带有表单提交功能,但是那个是不能提交图片等文件信息的,但是这个JQ可以做到!
包含Jquery1.6,JqueryUI界面插件,JqueryForm表单异步提交插件,Jqueryvsdoc,VS2008提示插件,JqueryValidate表单验证插件
jQuery异步提交表单 gailan.apply(gailan, { selectPostFrom:function(){ var data = jQuery("#frmAppendix").formSerialize(); jQuery.ajax({ type:"POST", url:"./selectSubmit.jsp", data:data, success:...
1.使用post提交方式 2.构造表单的数格式 3.结合form表单的submit调用ajax的... [removed][removed] [removed] jQuery(function($) { // 使用 jQuery 异步提交表单 $(‘#f1’).submit(function() { $.ajax({ url: ‘ta.
脚本是基于JQuery,解决了异步提交表单和上传文件jquery-form.js, 解决file控件回调函数捕获时间节点的问题。