我是Yii的新人,对不起,如果我的任务如此愚蠢。
我正在尝试使用下一个js代码发送帖子查询。
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脚本给出答案之后。但我不知道怎么做。
答案 0 :(得分:1)
你试过这个吗?
$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);