首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么从ajax传递给控制器的数据总是空的?

为什么从ajax传递给控制器的数据总是空的?
EN

Stack Overflow用户
提问于 2017-09-09 16:54:24
回答 1查看 352关注 0票数 0

我是Laravel的新手,我尝试使用post方法从ajax中传递数据。

我的控制器试图获得值,所以我使用返回响应来显示结果,但它始终是空的。

这是我的代码:

代码语言:javascript
复制
<script>
    $(function () {
        var tempsReal = 'matin';
        var dt = new Date($.now());
        var hs = dt.getHours();
        var d = new Date();
        d.setHours(12);
        if ((dt.getHours() >= d.getHours()))
            tempsReal = 'soir';
        $('#confirm').prepend('Marquer votre présence du : <strong>' + tempsReal + '</strong>');
        $(document).on('submit', '#frm', function (e) {
            e.preventDefault();
        .
            $ajax({
                method: $(this).attr('method'),
                url: $(this).attr('action'),
                data: {tempsReal: tempsReal},
                //data: $(this).serialize(),
                dataType: "json"
            })
        });
    })
</script>

我在我的控制器里试过这个,但是它显示:{"temps":null}

代码语言:javascript
复制
public function store(Request $request)
{
    $this->tempsReal = $request->input('tempsReal');

    return Response::json([
        'temps' => $this->tempsReal,
    ]);
}

我也经常看到:{"temps":null}

代码语言:javascript
复制
public function store()
{
    $this->tempsReal = request()->get('tempsReal');

    return Response::json([
        'temps' => $this->tempsReal,
    ]);
}

这是表格:

代码语言:javascript
复制
   <div class="container" id="RappelPres" style="
   width: 400px;
   height: 200px;
   position: absolute;
   top: 280px;
   left: 500px;
   border: 1px #a5a3a2 solid;">
   <div style="background-color: #42b43b;width:100%;height:40px;position: absolute ;left:0px">
       <form method="POST" action="{{ url('new') }}" style="text-align:center;"  role="form" id="frm" >
        {{ csrf_field()}}
        <button class="btn" id="confirm" type="submit" style="background-color:#42b43b;color: white;width:100%;height:100% "></button>
    </form>
</div>
<br>
<br>
<hr>
<div class="container" style="width:98%">
    <div class="alert alert-success alert-dismissible hidden">
        Pésence marqué avec succès.
    </div>
</div>
<div class="alert alert-danger alert-dismissible hidden" role="alert" style="width:98%">
</div>
</div>

我想知道问题在哪里,我如何解决它!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-09 18:52:32

检查开发人员控制台和方法中通过Ajax发送的数据。如果方法是' get‘,那么由于您以JSON的形式发送有效负载,那么laravel无法从请求中获得'tempsReal’,如果请求方法是'POST‘,并且发送的数据包含{ "tempsReal":“}”,那么输出应该包含期望值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46132988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档