我有一个生成 JSON 对象的 PHP 页面。 我有一个使用 jquery 库的页面,我想从中访问该对象。 但这不起作用。我看到消息“inside_nk”而不是“inside_ok”。为什么? 我已尝试尽可能简化我的代码。
prueba.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/prueba.js"></script>
</head>
<body>
</body>
</html>
普鲁巴PHP
<?php
header('Content-type: application/json; charset=utf-8');
class c1 {
var $i = 0;
var $e = 1;
function c1() {}
}
$inst_c1 = new c1();
echo json_encode($inst_c1);
?>
prueba.js
$(document).ready(function() {
alert('begin');
$.ajax({
url: 'http://[myserver]/prueba.php',
dataType: 'json',
data: '',
success: function (data) { alert('inside_ok'); },
error: function (data) { alert('inside_nk'); },
});
alert('end');
});
注意:
我尝试使用 "url: 'http://[myserver]/prueba.php?callback=?',"
和
"dataType: 'jsonp'".
http://[myserver]/prueba.php
有效。我用 Firebug 检查过。
最佳答案
如果您要使用 json_encode
我认为最好在 array()
而不是对象上使用它:
$out = array("i" => 0, "e" => 1);
echo json_encode($out);
关于php - 为什么这个简单的 JSON 编码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7437541/