后置值无法进入控制器

时间:2015-10-13 14:12:01

标签: javascript php ajax post

当我试图从我的控制器获取post值时, 我总是无效。

但是,如果我检查帖子值,我可以清楚地看到有后期值,但不知怎的,我没有在我的控制器中获得该值。

有谁知道问题出在哪里以及为什么我没有收到帖子数据...... !!!

Html ---

<form method="post">
    <div align="center" class="col-md-10">
        <input  type="text" id= "input" name="input" >
    </div><
    <div class="form-group"><button type="submit" class="btn btn-default" id="search">
            Search
        </button></div>
</form>

javascript -

<script>
    $(document).ready(function () {
    $("#search").on('click', function (e) {
            e.preventDefault();

            var data = {};
            data['input'] = $('#input').val();
            // Submit data via AJAX§
            $.ajax({
            url: '/home',
                    type: 'post',
                    data: data,
                    success: function (data) {

                    }
            }),
              return false;      
    });
    });
</script>

控制器---

function contentAction(Request $request) {

    $tic = microtime(true);
    $request = $this->getRequest();
    $data = $request->request->get('input');
    print_r($data);

3 个答案:

答案 0 :(得分:1)

这可能是最简单的答案:

function contentAction(Request $request) {
    $tic = microtime(true);
    $request = $this->getRequest();
    $data = $request->request->post('input'); //here use post instead of get
    print_r($data);
}

答案 1 :(得分:1)

你应该在你的ajax函数中使用方法:“POST”

$request = $this->getRequest();
$data = $request->request->post('input');
print_r($data);

然后在控制器中:

.color-primary .session { background: #4e60ab; fill: #a4add8; } 

答案 2 :(得分:0)

替换以下代码:

$data = $request->request->get('input');

用这个:

$data = $this->request->post('input');
print_r($data);