访问html元素数据并以PHP格式发送给控制器

时间:2012-02-28 05:46:57

标签: php jquery yii yii-components

我是php的超级初学者,我正在使用名为Yii的MVC php框架。我似乎找不到任何解释如何用PHP获取html元素值的文章。在任何地方,我都会看到如何在其他视图中的POST之后从表单字段中获取值。无论如何都要获取字段值并将它们发送到PHP中的控制器并返回到原始视图。

在.Net MVC中,我只使用jquery来获取表单字段并进行ajax调用。这不是敏感数据所以我不担心安全问题。我喜欢ajax,因为我没有回复任何页面,我只是发送我的数据并保持在我所在的同一页面上。

有没有办法用PHP做MVC AJAX?读取html元素值并将它们发送到控制器进行数据操作?

1 个答案:

答案 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
}

希望这足以让你开始。