Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jQuery无法通过Yii框架解析来自应答的JSON_Php_Javascript_Ajax_Yii - Fatal编程技术网

Php jQuery无法通过Yii框架解析来自应答的JSON

Php jQuery无法通过Yii框架解析来自应答的JSON,php,javascript,ajax,yii,Php,Javascript,Ajax,Yii,我是Yii的新手,如果我的问题如此愚蠢,我很抱歉 我正在尝试用下一个js代码发送post查询 var post_data = { 'ajax': 'true', 'action': 'get', 'id': id }; $.post('/index.php?r=admin/staticPages', post_data, function(data) { var answer = $.parseJSON(data); $("input[name='

我是Yii的新手,如果我的问题如此愚蠢,我很抱歉

我正在尝试用下一个js代码发送post查询

    var post_data = { 'ajax': 'true', 'action': 'get', 'id': id };
    $.post('/index.php?r=admin/staticPages', post_data, function(data) {
        var answer = $.parseJSON(data);
        $("input[name='id']").val(answer.id);
        $("input[name='lang']").val(answer.lang);
        $("input[name='title']").val(answer.title);
        $("input[name='description']").val(answer.description);
        $("input[name='keywords']").val(answer.keywords);
        $("textarea[name='content']").val(answer.content);
    });
管理控制器中的下一个代码

if ($_POST['action'] == 'get')
{
    $id = $_POST['id'];
    $staticPage = StaticPage::model()->find('id = :id', array(':id' => $id));

    echo json_encode($staticPage);
}
例如,在php代码中,我可以使用$static Page->id,并将页面的id提供给我。但在js中,我做不到。为什么?

我认为,我必须序列化或刷新我的对象($staticPage)的属性,并且只有在这之后才能为我的JS脚本给出答案。但是我不知道怎么做。

你试过这个吗

$id = $_POST['id'];
$staticPage = StaticPage::model()->find('id = :id', array(':id' => $id));

if (!headers_sent()) {
    header('Content-type: application/json');
}

echo CJSON::encode($staticPage->attributes);

您是否查看了服务器使用浏览器的调试工具返回的内容?是的。服务器返回的对象字段太多。我无法解开它:不客气。记住:1。在这种情况下,“find”方法返回“StaticPage”的实例,如果没有找到,则返回null。2.如果可能,尝试将encode函数用于数组