使用ajaxForm提交表单上传文件后服务器端的json数据无法解析到

发布于 2021-11-14 21:02:54 字数 931 浏览 806 评论 9

 

$('#portraint_up_form').ajaxForm({ 
	    	dataType:'json',
	        success:   processJson 
	    }); 
	    function processJson(data) { 
	        alert(data.status); 
	    }

firebug看明明服务器端返回了,但我在页面上怎么获取不了json的数据.

还有firefox怎么弹出来个窗口提示我返回json数据要不要打开,别的浏览器没有这情况.

我是直接print 字符串返回json的.

response.setContentType("application/json; charset=utf-8");
        response.setHeader("pragma", "no-cache");
        response.setHeader("cache-control", "no-cache");
        try {
			PrintWriter out = response.getWriter();
			out.print(result);
			out.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

伴我心暖 2021-11-18 12:27:03

哦。my god。怎么返回个JSON这么困难了,都要这么复杂的代码了。这样的返回,貌似就是下载东西的嘛。

皇甫轩 2021-11-18 12:27:03

根本不进success后的回调函数啊, json是通过struts2的插件处理的。表单里面没有文件域的话就OK

明月松间行 2021-11-18 12:27:03

根本不进success后的回调函数啊, json是通过struts2的插件处理的。表单limian没有文件域的话

顾忌 2021-11-18 12:27:03

加一个
iframe:true,  官方里有说明

风苍溪 2021-11-18 12:26:59

我已经解决了,不是你说的问题.

悟红尘 2021-11-18 12:25:32

哈,那怎么解决的,分享下嘛。不过我之前这么写过,它就是贱的老启动下载。最后没法了,直接用其它方式返回的JSON

疑心病 2021-11-18 11:44:52

使用ajaxForm的话,必须以html格式返回json数据. 也就是 response.setContentType("text/html; charset=utf-8"); 这样返回的数据才能被设置到回调函数里面. 而且貌似格式必须是 "key":"value" 也就是双引号,单引号还不行.

秉烛思 2021-11-15 23:37:00

JSON规范规定是必须是双引号,不能使用单引号!没看规范的……

明月松间行 2021-11-15 15:09:52

试试看行吗

$('#portraint_up_form').ajaxForm({ 
	    	dataType:'json',
	        success:   function processJson(data) { 
	        	alert(data.status); 
	    	}
	    }); 
	    

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文