在PHP中访问html元素数据并发送到控制器
我是php的超级初学者,我正在使用一个名为Yii的MVC php框架。我似乎找不到任何文章解释如何使用PHP获取html元素的值。无论我看哪里,都是关于如何在其他视图中的帖子之后从表单字段中获取值。是否仍然可以获取字段值并将其发送到PHP中的控制器,然后返回到原始视图 在.NETMVC中,我只使用jquery获取表单字段并进行ajax调用。这不是敏感数据,所以我不担心安全问题。我喜欢ajax,因为我不做任何页面回帖,我只发送数据,并保持在原来的页面上在PHP中访问html元素数据并发送到控制器,php,jquery,yii,yii-components,Php,Jquery,Yii,Yii Components,我是php的超级初学者,我正在使用一个名为Yii的MVC php框架。我似乎找不到任何文章解释如何使用PHP获取html元素的值。无论我看哪里,都是关于如何在其他视图中的帖子之后从表单字段中获取值。是否仍然可以获取字段值并将其发送到PHP中的控制器,然后返回到原始视图 在.NETMVC中,我只使用jquery获取表单字段并进行ajax调用。这不是敏感数据,所以我不担心安全问题。我喜欢ajax,因为我不做任何页面回帖,我只发送数据,并保持在原来的页面上 有没有办法用PHP实现MVC AJAX之类的
有没有办法用PHP实现MVC AJAX之类的功能?读取html元素值并将其发送到控制器进行数据操作?其工作方式相同。Yii与jquery捆绑在一起,因此 只需使用jquery获取表单字段并执行ajax调用 对于某个控制器函数,使用php的
echo
对其执行任何操作,并返回一个响应
如果您已经了解一些jquery,那么客户端应该与.NETMVC没有太大区别
编辑:要向生成的html添加
,请参阅
要创建URL,请使用函数
要将ajax选项添加到html标记,代码类似于:
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数组,我们也可以在其中传递
在控制器中读取这些值时:
public function actionSomeAction($id){
// $id is mybox
echo "Hello"; // this is returned as response to the client
}
希望这足以让您开始使用。您说您知道如何在.net mvc中实现这一点,因此在yii中没有太大的不同,请告诉我您的具体位置,就像在我使用Ajax通过URL将数据发送到控制器之前一样,一切都一样?!听起来很棒,为什么没人谈论这个…我在谷歌搜索后看到很多文章建议
$\u POST['field\u name']
,我想我不擅长谷歌搜索。嗯..无论何时向服务器发送数据,都是通过GET或POST变量发送的,对吗?所以$\u POST有POST变量,$\u GET有GET变量,如果您不知道的话。只需使用jQueryAjax方法。在yii中有一个CHTML类,它有一个构建在jquery的ajax之上的函数,所以您可以使用它。通常,当在yii中指定html标记时,我们还可以传递ajax选项,这些选项由chtml classok的这个ajax方法获取。我知道GET/POST,我的观点是使用$_POST['field']方法与Ajax方法相比,有很多关注点。我开始想,也许ajax和php不能很好地混合,或者其他什么东西,因为没有关注它。谢谢你的CHTML提示,我不知道。是的,你通过url发送,但yii再次提供了一个帮助函数来生成url,createUrl.you da man。谢谢你的努力。今晚我要试一试,我兴奋地想试一试是不是很奇怪?我喜欢MVC。