Php ajaxSubmitButton始终在POST方法中提交数据
我在使用CHtml::ajaxSubmitButton作为GET方法提交一些数据时遇到了这个问题。无论我尝试什么,它总是以POST方法提交数据 我可能做错了什么?这是我的密码Php ajaxSubmitButton始终在POST方法中提交数据,php,ajax,yii,yii-chtml,Php,Ajax,Yii,Yii Chtml,我在使用CHtml::ajaxSubmitButton作为GET方法提交一些数据时遇到了这个问题。无论我尝试什么,它总是以POST方法提交数据 我可能做错了什么?这是我的密码 echo CHtml::beginForm(array('shoppingCart/addItem','GET')); echo CHtml::textField('qty', 1, array('size' => 3)); echo CHtml::hiddenField('product_id', $model-
echo CHtml::beginForm(array('shoppingCart/addItem','GET'));
echo CHtml::textField('qty', 1, array('size' => 3));
echo CHtml::hiddenField('product_id', $model->product_id); echo CHtml::ajaxSubmitButton('submit',
array('shoppingCart/addItem'),
array(
'type'=>'GET',
//'data' => array()),
));
echo CHtml::endForm();
关于类型的值,将覆盖
public static function ajaxSubmitButton($label,$url,$ajaxOptions=array(),$htmlOptions=array())
{
$ajaxOptions['type']='POST';
$htmlOptions['type']='submit';
return self::ajaxButton($label,$url,$ajaxOptions,$htmlOptions);
}
因此,只要不触及核心功能,就无法使用GET。这是出于设计。您可以改用CHtml::ajaxButton
:
CHtml::ajaxButton('My Label','controller/action',array(
'type'=>'GET',
), array(
'type'=>'submit',
);
这没什么区别,只是说,ajax是用POST发送的。可能只有在使用非ajax解决方案时,GET才可能实现。您可以看到这一行$ajaxOptions['type']='POST'
使ajaxSubmitButton无法使用GET
。我会更新我的答案。这是解决问题的方法:)非常感谢