当我使用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->product_id); echo CHtml::ajaxSubmitButton('submit',
array('shoppingCart/addItem'),
array(
'type'=>'GET',
//'data' => array()),
));
echo CHtml::endForm();
答案 0 :(得分:3)
关于this document,type
的值将被覆盖。
public static function ajaxSubmitButton($label,$url,$ajaxOptions=array(),$htmlOptions=array())
{
$ajaxOptions['type']='POST';
$htmlOptions['type']='submit';
return self::ajaxButton($label,$url,$ajaxOptions,$htmlOptions);
}
因此,只要不触及核心功能,就无法使用GET。
答案 1 :(得分:2)
这是设计上的。您可以改为使用CHtml::ajaxButton
:
CHtml::ajaxButton('My Label','controller/action',array(
'type'=>'GET',
), array(
'type'=>'submit',
);