来自laravel 5.4中ajax的空请求数据

时间:2017-04-07 13:36:53

标签: ajax laravel

我希望使用ajax更改基于所选年份和周的值。

这是我的ajax功能:

function changeBekeken() {
        var year = $("#jaar-nr").val();
        var week = $("#week-nr").val();
        $.ajax({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            url: "/planning/viewed",
            type: "POST",
            data: {
                year_nr: year,
                week_nr: week
            },
            dataType: "json",
            success: function(data) {
                alert(data);
            }
        });
    }
    $(document).ready(function(){
        $("#week-nr").change(function(){
            changeBekeken();
        });
        $("#jaar-nr").change(function(){
            changeBekeken();
        });
    });

这是路线:

Route::post('/planning/viewed', 'PlanningController@viewed');

数据被发送到控制器功能:

public function viewed(Request $request) {
    $check = DB::table('planning_files')
        ->where([
            ['user_id', Auth::user()->id],
            ['created_year', $request->input('year_nr')],
            ['week', $request->input('week_nr')],
        ])
        ->select('seen')
        ->first();
    if($check) {
        return json_encode($check, JSON_PRETTY_PRINT);
    } else {
        return json_encode(false);
    }
}

但即使我使用$ request-> all();请求总是空的。我的函数总是返回false。几乎相同的功能在另一个页面上工作,但我似乎无法使这个功能正常工作。

我尝试在ajax函数中添加一些额外的信息,比如内容类型和数据类型,但似乎都没有。

任何提示?

修改1

这些是我在控制器中使用的命名空间和类:

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use Auth;
use Storage;

修改2

当我将该功能复制到另一个页面时,它可以正常工作。它与我使用ajax函数的页面上的内容有关。可能与令牌有些冲突。如果他们将来可能遇到同样的问题,我会尽力解决这个问题并为其他人发布答案。

0 个答案:

没有答案