У меня есть два маршрута, определенные следующим образом:
Route::get('directeur/qualite', 'Directeur\qualiteController@index')->name('qualite');
Route::get('directeur/qualite/{texte}','Directeur\qualiteController@getResultOfQuestion')->name('getResultQuestion');
Мой контроллер имеет эту функцию:
public function getResultOfQuestion(){
$texte=Input::get('texte');
$data = DB::table('questions')->where('texte','=',$texte)->value('code');
return['data'=>$data];
}
И я делаю запрос с использованием Ajax, как это:
$.ajax({
type: 'GET',
url: '/emagine/projet1613/public/directeur/qualite/',
data: {
texte: encodeURIComponent(str)
},
success: function (data) {
console.log(data);
},
error: function () {
alert('La requête n\'a pas abouti');
}
});
Я хотел бы получить результат функции, определенной в контроллере, но я не могу это сделать. Что я делаю неправильно?
Просто попробуйте это
Controller
public function getResultOfQuestion($texte){
$data = DB::table('questions')->where('texte','=',$texte)->value('code');
return response()->json(array('data' => $data));
}
AJAX
запрос
$.ajax({
type: 'GET',
url: '/emagine/projet1613/public/directeur/qualite/'+encodeURIComponent(str),
success: function (data) {
console.log(data);
},
error: function () {
alert('La requête n\'a pas abouti');
}
});
Вам следует обратный ответ:
return response()->json(compact('data'));