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();

2 ответа

Решение

Это по замыслу. Ты можешь использовать CHtml::ajaxButton вместо:

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

Что касается этого документа, значение 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, если вы не касаетесь основной функции.

Другие вопросы по тегам