我是php的超级初学者,我正在使用名为Yii的MVC php框架。我似乎找不到任何解释如何用PHP获取html元素值的文章。在任何地方,我都会看到如何在其他视图中的POST之后从表单字段中获取值。无论如何都要获取字段值并将它们发送到PHP中的控制器并返回到原始视图。
在.Net MVC中,我只使用jquery来获取表单字段并进行ajax调用。这不是敏感数据所以我不担心安全问题。我喜欢ajax,因为我没有回复任何页面,我只是发送我的数据并保持在我所在的同一页面上。
有没有办法用PHP做MVC AJAX?读取html元素值并将它们发送到控制器进行数据操作?
答案 0 :(得分:1)
它的工作方式相同。 Yii捆绑了jquery,所以你
只需使用jquery获取表单字段并执行ajax调用
到某个控制器功能,用它做你想做的任何事情,然后用php echo
返回一个响应。
如果你已经知道一些jquery,那么客户端应该与.net mvc没有多大区别。
修改强>
要在生成的html中添加<script>
,请参阅registerScript。
要创建网址,请使用createUrl功能。
要向html标签添加ajax选项,代码类似于:
echo CHtml::checkBox('mybox',false,
array(// array for htmloptions, we also pass ajax options in here
'class'=>'checkBoxes_class',
'ajax'=>array(// this is ajax options for jquery's ajax
'type'=>'POST',
'url'=>Yii::app->createUrl('xyz',array('clickedboxid'=>'mybox')), // here you passed clickedboxid as a get variable
'beforeSend'=>'function(){}',
'success'=>'',
// etc etc
)
)
);
每个html标记生成器辅助函数都使用htmlOptions数组,我们也可以传递ajax options。
在控制器中读取这些值时:
public function actionSomeAction($id){
// $id is mybox
echo "Hello"; // this is returned as response to the client
}
希望这足以让你开始。