提问者:小点点

无法在控制器中获取从ajax发送的任何数据


我有路线,

Route::post('/shop', 'ShopController@index');
Route::resource('/shop', 'ShopController')->parameters(['shop' => 'slug']);

我想通过价格范围过滤产品。

这是我的:

filter_data();
        var sliderrange = $('#slider-range');
        var amountprice = $('#amount');
        function filter_data() {
            var  min_price = $("#min_price").val();
            var  max_price = $("#max_price").val();
            console.log(min_price);
            $.ajax({ url:"/shop", method:"POST",
                data:{ min_price:min_price, max_price:max_price,},
                success:function (data) { },
            });
        };

这是控制器:

    public function index(Request $request)
{
    $data = $request->input('min_price');
    print_r($data);

}

在视图中,这是返回一个空数组。


共2个答案

匿名用户

您已经调用了两个post方法,哪个url是/shop

Route::post('/shop', 'ShopController@index'); // this is method index
Route::resource('/shop', 'ShopController') //this called store method.

所以当您调用/shop方法时,它会调用ShopController的store方法。

删除route::post(“/shop”,“ShopController@index”);并使用store方法。

 public function store(Request $request)
{
    $data = $request->input('min_price');
    print_r($data);

}

匿名用户

该方法用于获取所有数据

   public function index(Request $request)
    {
        $data = $request->all();
        print_r($data);

    }