用Input框 Type=submit 提交表单后,后台返回JSON不提示的问题.
解决方法. 给 提交按钮 写上点击事件.用 ajax提交
具体代码如下
1.js代码.代码里的选择器是html:form标签的选择器.因为html:form标签没有id.只能写styleId,这个styleId就类似于Name属性
所以我用的是name选择器.styleId的值是对应struts config里的<action 标签的 Name属性值.不是乱写的最下边有图.
function submitForm(){
jQuery($("form[name='pictureForm']")).ajaxSubmit({
success : function(data) {
if (data.success) {
alert(data.msg);
window.location = data.url;
} else {
alert(data.msg);
}
}
});
}
这里是html:form标签
这里是struts config里的 action
ps:追加..这样写完我发现提交的代码form表单里的Input框内容是乱码的.
这就意味着用ajax提交form表单他会修改你的编码集.最后试了很多方式才正确解码.
1:你要把ajax改成get方式.ajax的get方式提交编码集他会改成 iso8859-1 这样我们知道了编码集就容易解码了;
2:在后台接收代码的地方
String publisher = request.getParameter("publisher");//发布者
publisher = new String(publisher.getBytes("iso8859-1") ,"utf-8" );
这样就好了.