【发布时间】:2014-10-02 21:41:09
【问题描述】:
我想向/从控制器操作发送/获取变量。我的代码:
查看文件
....
<button id="radiyo">radio</button>
<script>
$("#radiyo").on("click", function(){
var $radio = $('input[type=radio][name=siniflerin-siyahisi]:checked').attr('id');
$.ajax({
type: 'POST',
url: '<?=Yii::app()->baseUrl;?>/ideyalar/sech/radio',
async: false,
cache: false,
data: {radio: $radio},
// datatype: "html",
success:function(){
alert($radio);
}
});
$.ajax({
type: 'GET',
url: '<?=Yii::app()->baseUrl;?>/ideyalar/sech/radio',
async: false,
cache: false,
datatype: "json",
data: {change: $sql},
success: function(data) {
alert(data.change);
}
});
});
</script>
....
控制器操作
public function actionSech ($radio)
{
$sql = Yii::app()->db->createCommand()
->select ('m.maraq')
->from ('maraq m')
->where ('m.idsinif=:ids', [':ids'=>$radio])
->queryAll();
$gonderilen = CJSON::encode(['change'=>$sql]);
}
我从 Yii 官方网站和其他论坛阅读文章。但我不明白我该怎么做。
请告诉我,如何将$sql 变量发送到我的视图文件?
谢谢。
【问题讨论】:
-
你能给我更多关于 json 输出应该是什么样子的信息吗?
-
感谢关注。作为复选框。
-
对不起.. 我想我的问题并不清楚。通常我所做的是,遍历查询结果并按照我想要的方式对其进行格式化。例如。 $change = 数组(); foreach($sql as $s){ $change[] = $s->maraq; } echo json_encode($change);
-
好的。如果我正确理解这段代码应该写在 controller action 中是吗?以及如何在视图文件中接收
SQL query结果? -
是的,这段代码将替换行“$gonderilen = CJSON::encode(['change'=>$sql]);”在您的控制器操作中。首先,为什么要在单击复选框时发出两个 ajax 请求?根据您对这个问题的回答,我可以进一步帮助您