Laravel 5.1 Ajax调用控制器的方法错误

时间:2015-09-16 08:21:11

标签: php jquery ajax laravel laravel-5.1

我正在对控制器的方法进行ajax调用,我做了一些尝试,但不知道问题出在哪里。

首先尝试:

public function show(Request $request, $from, $to)
{
    //return $request;
    $envData = EnviromentalData::whereBetween('data_recorded', array($from, $to))->get();
    return TransformService::transform($envData);
}

输出:{"from":["The from field is required."],"to":["The to field is required."]}", responseJSON: Object, status: 422, statusText: "Unprocessable Entity"

而且,ofc,'from'和'to'这些字段都有值。

第二次尝试:

public function show(Request $request) {
   return $request; 
}

输出:未定义

所以问题是问题是什么?另外,我添加了另外两个routes.php和script.js文件,我希望它会有所帮助。

routes.php
----------
Route::get('dashboard', 'DashboardController@dashboard');
Route::get('dashboard/from/{from}/to/{to}', 'DashboardController@show');

scripts.js
----------
// Ajax call to update the dashboard
function loadChart() {
    $.getJSON(window.location.href + '/from/' + fromDate + '/to/' + toDate)
}

2 个答案:

答案 0 :(得分:1)

您无需添加Request $request

试试这个

routes.php
----------
Route::get('dashboard/from/{from}/to/{to}', 'DashboardController@show');


controller.php
--------------
public function show($from, $to) {
   return Response::json($request) ;
}

如果从ajax获取数据意味着您将数据作为json返回。

答案 1 :(得分:0)

所以,我发现了我的问题,它出现在两个地方:

1)true

2)已修复return json_encode($request);个文件,为scripts.js方法和.done()添加了一些逻辑,所有这些都开始工作了!