2013-02-25 132 views
0

我不知道为什么,但我得到一个有效的JSON解析错误(我检查了jsonlint)。Jquery解析错误与有效Json

我从MySQL数据库用PHP取数据并使其JSON字符串和它retrive到jquery的(见下面的代码)

这是jquery的:

$.ajax({ 
    type: "GET", 
    url: "controller.php", 
    data: {action:"loadObjs"}, 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    async: true, 
    success: function(objs){ 
      //do stuff 
    }, 
    error:function (xhr, ajaxOptions, thrownError){ 
     document.write(ajaxOptions); 
     document.write(thrownError); 
     docmuent.write(xhr); 
    } 
} 

这是一个节Controller.php这样的:

<?php 
if (isset($_GET['action'])){ 
$action = $_GET['action']; 

echo var_dump($action); 

if ($action == "altaObj") { 
    echo addObj(); 
} else if ($action == "bajaObj") { 
// delObj(); 
} else if ($action == "modObj") { 
// modObj(); 
} else if ($action == "loadObjs") { 
    echo loadObjs(); 
} else if ($action == "loadObjProps") { 

} 
} 

function loadObjs() { 
$objs = Obj::GetAll(); 
return json_encode($objs); 
} 


?> 

这是GETALL()中的OBJ类:

public static function getAll(){    
    $return = array(); 
    try{ 
      $sql = "SELECT objectId, name FROM objs"; 
      $result = db::executeQuery($sql); 
      while (false != ($r = mysql_fetch_object($result))) { 
       $foo = new Obj($r->objectId, $r->name); 
       //$foo->objectName = $r->objectName; 
       $return[] = $foo; 
      } 
      return $return; 
    }catch (Exception $e){ 
     return $e->getMessage(); 
    } 
} 

谢谢。

+0

你从哪里得到错误? – 2013-02-25 15:39:18

+0

您可以显示实际的JSON,尤其是它打破的行吗?这可能比产生它的代码更有启发性 – 2013-02-25 15:39:37

+0

你能发布一个PHP页面的完整响应的例子吗?只需打你的url /controller.php?action=loadObjs并告诉我们它返回的是什么。 – 2013-02-25 15:40:03

回答

0

这是echo var_dump($ action);

谢谢x4rf41