欢迎您来到,李雷博客 | PHP博客        登录  |  注册

AJAX接收PHP返回的JSON数据中有HTML标签代码报错

更新:2023-05-22 10:20:16
人气:1570
来源:本站原创
A+

报错信息记录:Bad control character in string literal in JSON,JSON.parse(str)/Uncaught SyntaxEr报错解决方法。

原因分析:
JSON.parse()方法将有效的 JSON 字符串数据转换为 JavaScript 对象,内部不能包含转义字符。

解决方案:
将JSON转为JS对象前,先处理字符串

text = text.replace(/[\r|\n|\t]/g,“”)

这句把代码将\r,\n,\t 都替换为空。

后台用PHP返回的JSON数据:

$table_box='<table cellspacing=0 cellpadding=0 align=center><tr style=height:50px;><td style=width:55%;text-align:center;overflow:hidden;background:#E8F8FF >培训班名称</td><td style=width:15%;text-align:center;overflow:hidden;background:#E8F8FF>应报到人数</td><td style=width:15%;text-align:center;height:50px;hoverflow:hidden;background:#E8F8FF>已报到人数</td><td style=width:15%;text-align:center;height:20px;hoverflow:hidden;background:#E8F8FF>未报到人数</td></tr><tr><td colspan="4" align="center">----</td></tr></table>';

echo '{"back_status":"ok","table_info":"'.$table_box.'"}';
exit;

具体前端JS代码:

var ajaxform=$.post("anniu_action.php",{action:'get_userinfo_housiwei'},function(result){
			
	result = result.replace(/[\r|\n|\t]/g,"")//将JSON转为JS对象前,先处理字符串内部不能包含转义字符。这句把\r,\n,\t 都替换为空。

	result_str = JSON.parse(result);
	if (result_str.back_status=='ok'){
					
		if (result_str.sfz_num==1){
			$("#xueyuan_card").val(result_str.sfz);
		}else{
			$("#xingming").html('');
			$("#sfz").html('');
		}
					
	}else{//失败会初始化
		error_tishi(result_str.msg)
	}	
})	

以上就是AJAX接收PHP返回的JSON数据中有HTML标签代码报错的相关处理方法。

推荐的文章
# 发表我的评论
  /     /  
# 最近评论
暂时还没有评论,要不要说点什么?
  Ads by Google
  联系博主
Hello,本博客系统采用PHP和MySql开发,程序开发完全是因为个人爱好,是自己纯手写PHP源代码,未采用任何PHP框架!
QQ:858353007   微信号:lileihot123
网站地图
会员服务
关于我们
QQ:858353007
 
广告服务
加我微信
移动端访问
 
 
Copyright © 2014- 2024 www.mdaima.com All Rights Reserved.
李雷博客,专注PHP经验、PHP教程及PHP源代码开源下载分享的PHP博客!   ICP备案号:京ICP备10202169号-4