本人用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里拷出来的。 各位帮下,多谢了。
上传页面的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里拷出来的。 各位帮下,多谢了。
只要在xml中配置的时候直接返回到一个ftl或者vm之类的页面中。在页面构建一个json格式的就行了~
我的是
在自己的vm中:
{"msg":"${msg}"}
可参考这个
第二:这个插件上传文件时,请求头里面没有【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值比上面的多了一组冒号
-----------------