Yii 控制器方法从视图按钮调用
Yii controller method call from view button
我一直在阅读很多关于这个问题的信息,但我找不到适合我的问题的解决方案。
在 Yii 框架中,我需要在从视图中单击按钮后执行控制器方法。我试图用Javascript做到这一点,但它不起作用。我不需要从视图中更改任何内容,只需将代码执行到控制器中即可。在控制器执行完成后,我必须获取返回变量以在视图上显示一些答案。
ajaxButton in yii:
echo CHtml::ajaxButton('ButtonName',Yii::app()->createUrl('controller/action'),
array(
'type'=>'POST',
'data'=> 'js:{"data1": val1, "data2": val2 }',
'success'=>'js:function(data){ alert(data); /* */}',
'update'=>'selectorNameToBeUpdated',
),array('class'=>'someClass',));
onclick="callController();"
使用 ajax 使用它,创建一个函数并使用 onclick 事件通过 javascript 调用它。
<script>
function callController(){
$.post("index.php?r=controllerName/functionName, function (data) {
});
}
</script>
最后,我得到了一个解决方案,混合了您的建议。此外,我正在处理一个第三方项目,代码很混乱,实际上控制器不在正确的目录中......无论如何,这是我的解决方案:
在我看来,调用我的 JavaScript 函数
onclick="myMethod(myVar");
然后:
<script>
function myMethod(Var) {
$.ajax({
type: "POST",
url: "<? echo Yii::app()->createUrl('MyController/MyControllerMethod'); ?>",
data: {val: Var},
success: function(msg){
alert("Operation result: " + msg)
},
error: function(xhr){
alert("failure"+xhr.readyState+this.url)
}
});
}
</script>
在我的控制器中,刚刚做了一些操作并返回回显:
public function actionMyControllerMethod() {
// some operations
echo $result;
}
相关文章:
- 如果从文件输入按钮调用 .ajaxSubmit() 时,它是必需的表单
- 使用函数按钮调用 ajaxform
- 使用 PHP 生成的按钮生成 POST 请求,这些按钮调用带有参数的 javascript 函数
- 如何从按钮调用LinkedIn授权javascript
- Yii2:用按钮调用 javascript 函数
- 点击按钮调用Jade mixin功能
- 如何点击按钮调用angularJs服务
- 未通过单击按钮调用JavaScript回调
- 动态按钮调用JavaScript函数
- 从javascript onclick事件按钮调用c函数
- 我用脚本创建了一个按钮.我可以通过点击按钮调用其他函数吗?我这样做,但失败了
- 如何使用HTML按钮调用javascript函数
- 单击Fancy Box覆盖按钮调用Ajax时,Ajax未按预期工作
- 使用 onClick 从 JavaScript 创建 html 按钮调用一个带有一个参数的方法
- Javascript 没有从 html 按钮调用
- 从新的 dom 按钮调用内容脚本函数
- 使用按钮调用 JavaScript 函数
- 如何对函数进行按钮调用
- ember - 控制器操作仅由输入字段调用,而不由按钮调用
- 如何从 ui-grid 中显示的按钮调用范围方法 - 在 Angular js 中