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

时间:2014-04-22 06:30:28

标签: 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->product_id); echo CHtml::ajaxSubmitButton('submit',          
                array('shoppingCart/addItem'), 
                array(
                        'type'=>'GET',
                        //'data' => array()),
                ));

echo CHtml::endForm();

2 个答案:

答案 0 :(得分:3)

关于this documenttype的值将被覆盖。

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',
        );