我试图使用eval()函数从我的.php文件转换json字符串,但它不起作用。浏览器控制台说 SyntaxError:期望表达式,得到'<' ...
但是当我注释掉eval()所在的行时,并使用document.write(data);字符串出现......
这是我的代码..
<html>
<head>
<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript'>
var go = function() {
$.get("testjson.php", function(data) {
var obj = eval("(" + data + ")");
document.write(obj.name + "<br />");
document.write(obj.date + "<br />");
});
}
</script>
</head>
<body>
<input type='button' value='go' onclick='go()' />
<body>
</html>
这里是我的testjson.php文件的代码......
<?php
$msg = array(
"name"=>"hi there Victor!",
"date"=>"Monday 21st Feb 2010"
);
$myMsg = json_encode($msg);
echo $myMsg;
?>
即时通讯使用最新版本的jquery ..
答案 0 :(得分:0)
此处的评论和答案中有其他建议,关于使用$.getJSON()
代替eval()
,或将json
指定为$.get()
中的参数,这些都是好的建议。但是,它们并不是它不起作用的原因。
简单地说,在靠近底部的右括号后,你的var go = ....
函数定义中缺少一个分号。
答案 1 :(得分:0)
代码现已修复!大声笑我不知道为什么,但我刚刚删除了我的.php代码下的评论html代码......它如何影响我的代码?它只是一个评论...:/