`

json串多了<pre>标签,ext报错

    博客分类:
  • ext
 
阅读更多
1.返回的json串前面多出了<pre style="word-wrap: break-word; .....></pre>的东西,导致转js对象时报错,查看后台也没见到添加<pre>标签,应该是浏览器添加的。
解决办法,把response的contentType设置为text/html即可:
this.getResponse().setContentType("text/html;charset=UTF-8");
Content-Type对浏览器解析的一些影响

    当为web服务器输出的内容指定Content-Type为text/html时,浏览器会对内容做一些额外的转换工作,比如"&#34;"这样的实体形式就会被替换成最终的字符(双引号")。这在普通情况下并不会引起什么问题,但是不幸的是如果你采用了JSON格式来传输数据,例如:{status:0;data:"content&#34;data"}这样的格式,当&#34;被替换成"后,Javascript就会得到一个错误的数据格式,因为这时候Javascript拿到的数据就变成了{status:0;data:"content"data"}。

    这时候,你可以设置Content-Type为text/x-json来解决此问题,但是text/x-json有可能引起一些浏览器兼容性上的问题(一些浏览器会提示下载Content-Type为text/x-json的内容),而更好的做法就是设置Content-Type为text/plain。不过即使这样也并没有完美的解决问题,考虑这样一种情况,你需要上传文件但是你并不想刷新上传页面,这时候一般的做法就是让form的target指向一个Iframe,代码如下:
    <form target="iframeId" method="post" action="accept.php"><input type="file" /></form>
    当accept.php接收请求并处理完成返回一段JSON数据后问题就发生了,因为accept.php输出的内容被定向到了iframe,而在iframe里浏览器会自动地给数据上加上<pre>标记,这时候JSON又出现格式错误了。

    最终的解决方法就是,在JSON传输时指定Content-Type为text/plain,但是遇到上面提的文件上传情况,就应该指定Content-Type为text/html。

分享到:
评论

相关推荐

    list转化成JSON字符串

    可将list&lt;T&gt;转化成JSON字符串 使用方法 例: List&lt;自定义类&gt; l; ListChangeToJson.ListChangeToJson classJson = new ListChangeToJson.ListChangeToJson(); classJson.ArrayToJsonAll(l, "数组名字");

    maven中 引入jar报错:Missing artifact net.sf.json-lib:json-lib:jar:2.4

    &lt;dependency&gt; &lt;groupId&gt;net.sf.json-lib&lt;/groupId&gt; &lt;artifactId&gt;json-lib&lt;/artifactId&gt; &lt;version&gt;2.4&lt;/version&gt; &lt;classifier&gt;jdk15&lt;/classifier&gt; &lt;/dependency&gt; 或者直接下载这个包

    List转Json

    List&lt;Object&gt;转Json的jar包

    C# 解析json格式数据为IList

    C# 解析json格式数据为IList&lt;T&gt;

    json字符串实体bean或者List互转(gson和jackson,支持泛型)

    json字符串实体bean或者List&lt;bean&gt;互转(gson和jackson,支持泛型),支持json的格式化,所需要的包在代码也有说明。还有少的可以告知我,谢谢

    Json与实体相互转换,支持IList泛型

    Json转换为实体;Json转换为IList&lt;T&gt;;实体转换为Json;IList&lt;T&gt;转换为Json;

    XmlConverJSON.java

    &lt;artifactId&gt;json-lib&lt;/artifactId&gt; &lt;version&gt;2.4&lt;/version&gt; &lt;classifier&gt;jdk15&lt;/classifier&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;jdom&lt;/groupId&gt; &lt;artifactId&gt;jdom&lt;/artifactId&gt; &lt;version&gt;1.0&lt;/version&gt; ...

    Json序列化与反序列化方法封装类

    public static string GetJson&lt;T&gt;(List&lt;T&gt; model) where T : new() { return new JavaScriptSerializer().Serialize(model); } /// &lt;summary&gt; /// 反序列化Json为模型对象 /// &lt;/summary&gt; /// &lt;typeparam ...

    jsonrpc4j+springboot+maven实例

    &lt;artifactId&gt;jsonrpc4j&lt;/artifactId&gt; &lt;version&gt;1.5.0&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;javax.portlet&lt;/groupId&gt; &lt;artifactId&gt;portlet-api&lt;/artifactId&gt; &lt;version&gt;2.0&lt;/version&gt; &lt;/dependency...

    json字符串转成 Map/List

    NULL 博文链接:https://wuniu2010.iteye.com/blog/1771934

    SpringMVC中json转换所需要的Maven仓库的jar包

    该资源为SpringMVC中json转换所需要的Maven仓库,如果maven下载包的时候速度太慢,可以使用我的这个资源,把这个直接考到本地Maven仓库即可。 对应的Maven依赖如下: &lt;dependency&gt; &lt;groupId&gt;org.codehaus.jackson&lt;/...

    JSON数据转字符串

    自动把JSon数据转化为字符串,下面附示例代码: &lt;!doctype html&gt; &lt;html&gt; &lt;body&gt; &lt;script src="json2.js"&gt;&lt;/script&gt; &lt;script&gt; var obj={a:[2,3],b:{m:[3,4],n:2} }; var jsonStr = JSON.stringify( obj ); alert...

    java jsonto对象互转

    public static &lt;T&gt; List&lt;T&gt; jsonToList(String jsonString, Class&lt;T&gt; pojoClass, String dataFormat) { JsonConfig jsonConfig = configJson(dataFormat); JSONArray jsonArray = JSONArray.fromObject(json...

    Jquery通过JSON字符串创建JSON对象

    &lt;h2&gt;通过 JSON 字符串来创建对象&lt;/h3&gt; &lt;p&gt; First Name: &lt;span id=fname&gt;&lt;/span&gt;&lt;br&gt; Last Name: &lt;span id=lname&gt;&lt;/span&gt;&lt;br&gt; &lt;/p&gt; [removed] //txt为字符串 var txt = '{employees:[' + '{firstName:Bill,lastName:...

    一个基于ext的ajax小例子

    &lt;br&gt;顺便演示了一下用servlet来返回json数据给ext框架的方式。 &lt;br&gt;&lt;br&gt;在grid的演示部分,包括了分页的数据调用和如何处理来自于dwr的数据(dwr的部分和官方网站公布的方法一样) &lt;br&gt;以及grid的事件处理。 &lt;br&gt;&lt;br&gt;...

    Json解析简单数据<二>

    使用谷歌的Json jar包,定义数据类型对象bean,并结合泛型和TypeToken解析简单的Json网络数据。

    C# json 转hashtable

    自己写的json字符串转hashtable,或者把hashtable转为json字符

    Json解析简单数据<一>

    不创建对象,使用Android自带的和JSON解析相关的类,解析json数据

    SupObject解析Json格式

    解析JSon格式字符串等信息解析JSon格式字符串等信息解析JSon格式字符串等信息

    java转换xml、list、map和json

    json-lib库依赖于多个依赖包,包括commons-beanutils、commons-collections、commons-lang、commons-logging、ezmorph和xom等。如果缺少这些依赖包,将会出现运行错误。 本文主要讲述了Java中将xml、list、map和...

Global site tag (gtag.js) - Google Analytics