解决SPRING MVC在IFRAME下使用AJAX调用form返回json提示下载解决方案

今天使用SPRING MVC + easy ui 在IFRAME下面提交FORM表单后,返回JSON 在CHROME下面完全正常,但用IE就提示 下载JSON文件。原因是 IE 在IFRAME中不能识别 APPLICATION/JSON 。没办法,查看 org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
尼玛,居然直接写死了。无语啊
	public MappingJacksonHttpMessageConverter() {
		super(new MediaType("application", "json", DEFAULT_CHARSET), new MediaType("application", "*+json", DEFAULT_CHARSET));
	}

没办法,只能重写,但继承后,放到配置文件内,没反应,那个郁闷啊,也不高兴DEBUG。最暴力方法,修改源码,将 org.springframework.http.converter.json.MappingJacksonHttpMessageConverter 源码的构造函数改成
public MappingJacksonHttpMessageConverter() {
		super(new MediaType("text", "html", DEFAULT_CHARSET), new MediaType("text", "*+html", DEFAULT_CHARSET));
	}

因为json本来就是个字符串,现在的浏览器是能将JSON自动解析成OBJECT对象,老古董IE真服了。

猜你喜欢

转载自szydnjw.iteye.com/blog/1860785