当 eval 返回的 json 值时,提示 Error: Invalid Label 的原因

本文解释了在脚本中如何正确使用eval函数解析JSON格式的字符串,避免出现Invalid Label错误,并提供了实例演示。
假如你从服务器端返回的是 json 格式的字符串:
"{'ID':'0001','Name':'学习守则'}"

 

当你在脚本中用 eval 的方式运行:
eval("{'ID':'0001','Name':'学习守则'}");

 

这时会提示 : Error: Invalid Label
实际上,我们的 json 格式并没有错误,只是在 eval 的时候,要把你的 json 值用 “()” 括号括起来:

var result = eval("(" + o.responseText + ")");

 

 

转载于:https://www.cnblogs.com/Apolloge/archive/2010/02/12/1667915.html

Admin::script( <<<EOT $(document).ready(function() { console.log('Document is ready'); console.log('.plan_id exists:', $('.plan_id').length > 0); console.log('#school-container exists:', $('#school-container').length > 0); setTimeout(function() { $('.plan_id').change(function() { var planId = $(this).val(); $.get("/tools/plan_school",{q : planId}, function (data) { $('#school-container').empty(); var temp = ''; $.each(data, function(index, school) { temp += '<div class="form-group"><label for="name" class="col-sm-4 control-label">'+school.text+'</label><div class="col-sm-6"><div class="input-group"><span class="input-group-addon"><i class="fa fa-pencil fa-fw"></i></span><input type="text" id="school_id" name="school_id_'+school.id+'" value="" class="form-control name" placeholder="输入 编号" /></div></div></div>'; }); $('#school-container').append(temp); }); },1000); }); }); EOT ); 我这段代码在进入页面的候会报错VM4707:13 Uncaught SyntaxError: Invalid or unexpected token at eval (<anonymous>) at n.globalEval (jQuery-2.1.4.min.js:2:2538) at n.fn.init.domManip (jQuery-2.1.4.min.js:3:17225) at n.fn.init.append (jQuery-2.1.4.min.js:3:14908) at HTMLScriptElement.cb (jquery.pjax.js:792:19) at next (jquery.pjax.js:803:12) at executeScriptTags (jquery.pjax.js:805:5) at options.success (jquery.pjax.js:324:5) at j (jQuery-2.1.4.min.js:2:26925) at Object.fireWith [as resolveWith] (jQuery-2.1.4.min.js:2:27738) 重新刷新页面以后就可以正常显示控制台能够正确打印Document is ready create:1333 .plan_id exists: true create:1334 #school-container exists: true
06-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值