Jquery Yii ajaxLink通过下拉菜单中的参数并使用POST方法提交

Jquery Yii ajaxLink通过下拉菜单中的参数并使用POST方法提交,jquery,yii,Jquery,Yii,我想从下拉列表中检索所选值,并通过POST方法使用Yii的ajaxLink函数传递它 例如,我可以在发送前检索部分中的值 array( // ajaxOptions 'type' => 'POST', 'beforeSend' => "function() { start_time = jQuery('#start_time').find(':selected').val();

我想从下拉列表中检索所选值,并通过POST方法使用Yii的ajaxLink函数传递它

例如,我可以在发送前检索
部分中的值

array( // ajaxOptions
    'type' => 'POST',
    'beforeSend' => "function() {                                  
         start_time = jQuery('#start_time').find(':selected').val();
         end_time = jQuery('#end_time').find(':selected').val();

         this.data += '&start_time='+start_time;
         this.data += '&end_time='+end_time;
    }",
    .......
我可以格式化字符串,在控制器中传递并解析它,但我使用的是CSRF保护,如果我将参数作为单个字符串传递,我会得到“CSRF令牌无法验证”错误


期待您的回复。

将所有内容放在一个表单中并提交(通过AJAX请求)-然后表单会像往常一样发布,您不必咀嚼任何值。或者,您可以通过htmlOptions将AJAX直接连接到下拉列表,例如:

<form>
<?php
    echo CHtml::listBox('field', '', $fieldData,
        array('ajax' => array(
            'type' => 'POST',
            'url' => Controller :: createUrl($controllerAction),
            'dataType'=>'json',
            'success'=>'function(data) { console.log(data) }'
            ),
        )
    );  
?>

这样,细节将通过表单POST提交;提交值后,您可以在PHP中执行所需的任何操作

如果您需要提交类型的项,我会使用ajaxSubmitButton()而不是ajaxLink(),然后您将获得所有表单数据