精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-12-03
最后修改:2012-12-05
先描述下载项目中遇到的问题,在使用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>
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-12-04
代码看起来很费劲,全是span标记,lz要整理一下再发
|
|
返回顶楼 | |
发表时间:2012-12-05
kjj 写道 代码看起来很费劲,全是span标记,lz要整理一下再发
谢谢提醒,已修改,之前用的iteye自带的代码插入,显示样式不好。 |
|
返回顶楼 | |
浏览 2563 次