0

理由はわかりませんが、有効な JSON で解析エラーが発生しています (jsonlint で確認しました)。

php を使用して mysql db からデータをフェッチし、それを json 文字列にして 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);
}


?>

これは Obj クラスの GetAll() です。

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();
    }
}

ありがとう。

4

1 に答える 1

0

それは echo var_dump($action); でした。

ありがとう x4rf41

于 2013-02-25T15:58:20.603 に答える