我正在尝试将json数据从一个页面提取到另一个页面。
js_page.php
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$.get('php_page.php', function(data){
for (var i = 0; i < data.length; i++) {
alert(data[i]);
};
}, 'json');
</script>
</body>
</html>
如果我在没有任何html的情况下设置php_page.php的页面内容,它就可以工作了。
php_page.php
<?php
echo $name = json_encode(array('myname', 'myage'));
但是,如果我把代码放在html内容js_page.php中,而不输出任何内容。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
echo $name = json_encode(array('myname', 'myage'));
?>
</body>
</html>
为什么会出现这种情况以及如何解决?
您不应该将JSON放入HTML标记中。您的第一个版本的php_page.php
是正确的。