在服务器那里encode一下,然后在JS的eval前,先decode一下或者把JSON字符串贴出来,看看有没有错
解决方案 »
- 问个关于chrome F12开发工具的问题。
- JS定义数组的问题
- 定义Observer时,怎样向观察者传递一个标记?
- ext js兼容问题
- 急急急。。 验证视图状态 MAC 失败
- 如何在jsp或者javaScrip页面中嵌入显示服务器端excel文件,服务器端的具有统计,计算的功能,在客户端打开之后原来的计算公式仍然有效,并且结果能返回到服务器端,请问哪位高手知道怎么实现?或有插件给发我也行,[email protected],兄弟先谢了
- popup消息框中超级链接的点击问题
- 如何写一个校验非法字符串的方法
- 难----在客户端图片显示控制(放大、缩小、移动)的问题
- 如何设置时间等待?
- javascript 怎样判断web控件输入的字符长度
- ie弹出式菜单,能否随意控制窗口位置,而不依赖于父页面定位?
encodeURI
decodeURI
处理
是指Server.HtmlEncode? 在js的eval前decode一下,怎么写
2、eval是將後臺返回的結果轉換成js對象,即json。這是目前較流行和常用的方式。當然你也可以後臺生成js代碼字符串,返回前臺用eval動態執行
3、既然返回的結果中包含大量html標籤,則返回request.responseText即可
4、如果想返回json,則後臺應構造符合json規範結構的字符串。再用eval轉換。
5、完了
传过来后用unescape(xmlhttp.responseText)看看
解析时候出了问师,老是说"缺少"}"我忘了说一个重点json是key:value组成
我是说在value里有大量的标签(例如:<P><IMG src="show.aspx/2pz34260m[1].jpg?InfoDtID=37"></P>有这样的内容)
解析普通文字没有错误
<script>
String.prototype.unescapeHtml = function(){
return this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');
}
//JSON
/*reponseText得到的应该是这样的格式就对了
你的格式 {img:\'<P><IMG src="show.aspx/2pz34260m[1].jpg?InfoDtID=37"></P>\', img2: \'<P><IMG src="show.aspx/2pz34260m[1].jpg?InfoDtID=38"></P>\'}
转变后是这样的 {img:'<P><IMG src="show.aspx/2pz34260m[1].jpg?InfoDtID=37"></P>', img2: '<P><IMG src="show.aspx/2pz34260m[1].jpg?InfoDtID=38"></P>'}
*/
var str = '{img:\'<P><IMG src="show.aspx/2pz34260m[1].jpg?InfoDtID=37"></P>\', img2: \'<P><IMG src="show.aspx/2pz34260m[1].jpg?InfoDtID=38"></P>\'}'; eval('var rs='+str.unescapeHtml());
//这句其实就是 var rs = {img:'<P><IMG src="show.aspx/2pz34260m[1].jpg?InfoDtID=37"></P>', img2: '<P><IMG src="show.aspx/2pz34260m[1].jpg?InfoDtID=38"></P>'}; alert('rs.img='+rs.img+'\nrs.img2='+rs.img2);</script>
参考下
主要是value里有双引号,受影响~~`要是把双引号换成单引号,显示出来的值是这个<IMG src='show.aspx/shenzhen[1].jpg?InfoDtID=41'>我要的是一张图片~~不知道有什么办法可以解决
不行就把 <和>替换成< > 再innerHTML