本人用struts2 jquery ajaxfileupload json 做上传处理,文件可以正常上传。但在返回时直接出来个下载页面。里面内容是{"msg":"789456123"}
上传页面的JS 代码:<script type="text/javascript" src="./js/jquery.js"></script>
<script type="text/javascript" src="./js/ajaxfileupload.js"></script>
<script type="text/javascript">
function FileUpload()
{
$.ajaxFileUpload
(
{
url:'fileupload.action', 
secureuri:false,
fileElementId:'upload',
dataType: 'json',
success: function (data, status)
{
if(typeof(data.error) != 'undefined')
{
if(data.error != '')
{
alert(data.error);
}else
{
alert(data.msg);
}
}
},
error: function (data, status, e)
{
alert(e);
}
}
)
return false;
}
</script>
struts.xml配制文件<struts>
<package name="FileUploadAction" extends="json-default">
<action name="fileupload" class="fileUploadAction">
<param name="savePath">/userfiles/image</param>
<result type="json"></result>
</action>
</package>
</struts>
 好像success: function (data, status) 这个根本就没执行。直接把json以下载形势返回来了。Struts2 是2.1.6 json插件是 jsonplugin-0.33 jquery.js 与 ajaxfileupload.js  都是从ajaxfileupload里拷出来的。  各位帮下,多谢了。

解决方案 »

  1.   

    难道是struts2 与jquery的ajaxfileupload插件不可以结合使用?gooogle查遍了没有答案。忘高人给点提示。
      

  2.   

    返回结果不管什么都会success:的吧,如果有异常或被终止会执行error:,楼主自己调试下
      

  3.   

    我这两天也遇到这个问题了,小研究了一下,已搞定是因为struts2直接就把你那个json下载了 因为你的iframe页面中并没有什么处理xml或者json的js函数造成的这个ajax控件的原理是认为你iframe页面中是一个包含xml或json的页面,他的例子中直接echo了json,所以是可以成功的而我们需要做的就是用直接返回一个页面,页面中包含json就可以了,不使用那个struts2的json插件 明白?你不理财,财不理你!
      

  4.   

    我也遇到这个问题了~正在努力ing~
      

  5.   

    问题解决了。
    只要在xml中配置的时候直接返回到一个ftl或者vm之类的页面中。在页面构建一个json格式的就行了~
    我的是
    在自己的vm中:
    {"msg":"${msg}"}
      

  6.   

    http://www.blogjava.net/sxyx2008/archive/2010/11/02/336826.html
    可参考这个
      

  7.   

    我是觉得这个ajaxfileupload没有用ajax技术:第一:在他的ajaxfileupload.js里面没有发现xmlHttpRequest对象或者是调用了jquery的ajax api;
    第二:这个插件上传文件时,请求头里面没有【X-Requested-With XMLHttpRequest】,如果不知道是否含这个参数的区别,请移步到【http://topic.csdn.net/u/20110902/21/942c6d14-5d0e-4a5d-b36f-a92a296ac111.html】
    第三:firebug时,在XHR里面的内容是空的。说一下我用firebug看到服务器返回的信息:“响应”栏是【{error: '',msg: ' File Name: 8H(($S$B8G]D_RB~$Z5KH0B.jpg,  File Size: 100085-------------------------------------------------------------------------------
    我用jquery写的一个ajax请求测试
    一:我使用的是这个api【$.getJSON("u!uploadFile", {}, function(json) {}】;
    二:请求头信息包含【X-Requested-With XMLHttpRequest】;
    三:XHR里面有一行我用一中触发的请求信息【http://127.0.0.1:8080/clvat/test/u!uploadFile】;说一下我用firebug看到服务器返回的信息:“响应”栏是【{"msg":"import_excel 记录数据 未执行成功!","xmbh":"123"}】,key值比上面的多了一组冒号
    -----------------