2014-05-21 220 views
0

我使用json_encode在我的php文件中生成一个json对象,但是当我在Javascript中解析它时,我得到错误的未知标记,这是因为当我打印返回的字符串时,它实际上是html代码而不是json字符串。将JSON对象从PHP传递到Javascript

让我们考虑最简单的情况:

PHP:

$testjson = '{"result":true,"count":1}'; 
echo $testjson; 

JS:

$.get("serverside.php", function(data, status) { 
         JSON.parse(data); // I get error here 
       }); 

我应该如何使用JSON对象从PHP在javascript?

+0

你能请编辑问题并添加“html代码”是什么?即'console.log(data)'的输出而不是'JSON.parse(data)'。另外,还有一个方便的方法'$ .getJSON',它会跳过几个步骤。 – Amadan

+1

当我测试这个jQuery和PHP在我的服务器上似乎工作。你看到什么错误? – Joe

+1

您提供的示例代码是正确的,提供原始代码,如果服务器已经以json形式发送数据而不是字符串,那么JSON.parse会给出错误。 – Abhishek

回答

0

这可能是最好的,你多一点的动态创建的JSON数组在PHP中:

$testjson = array(); 
$testjson['result'] = true; 
$testjson['count'] = 1; 
echo json_encode($testjson); 
0

Tanantos说什么是你最好的选择。我个人会一直写,如:

$testjson = array(
    "result" => true, 
    "count" => 1 
); 
echo json_encode($testjson); 
0

PHP:

$testjson = array(
    "result" => true, 
    "count" => 1 
); 
echo json_encode($testjson); 

JS:

$.get('serverside.php', function(json){ 
    console.log(json); 
}, 'json'); 
  • jQuery的1.10.2.min