$.getjson遇到的几个问题-json返回数据中带有html标签的输出

1. invalid label错误

分为两种情况

  • 同域情况
  • 跨域情况

同域情况:

使用eval将返回回来的json翻译成response

var json = eval('(' + myjson + ')');

跨域情况下:

第一需要:url带有callback=?
第二还需要,在输出的时候把callback值输出QQ截图20111231183849 
$dal = $_GET[‘callback’];
echo $dal.'('.json_encode($retData1).')';
注意:$dal 和json数组链接的时候,json数组需要括号包含

 

2.输出带有html标签的json数据

想在json数据中带有html标签的值,但是在执行的时候是失败的原因:

由于 / 被处理为\/,浏览器认为标签不完整,将标签给自动补齐而导致多了标签。

 

解决办法:

$json=json_encode($result);
$myjson=strtr($json, array('<'=>'\u003C',">"=>'\u003E'));

echo $myjson;

如果若phpversion>5.3.0  可以 echo  json_encode($a,JSON_HEX_TAG);

posted @ 2012-05-28 16:52  令狐葱★  阅读(2894)  评论(0编辑  收藏  举报