Yii CHtml::ajaxSubmitButton总是在POST方法中提交数据



当我使用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();

关于此文档,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。

这是经过设计的。您可以使用CHtml::ajaxButton代替:

CHtml::ajaxButton('My Label','controller/action',array(
            'type'=>'GET',
        ), array(
            'type'=>'submit',
        );

最新更新