使用ajax通过Laravel Controller传递数据

时间:2017-01-20 11:02:57

标签: php jquery ajax laravel

我有两条路线定义如下:

.heading {
  text-align: center;
}
@media (max-width: 20em) {
  .hide1 {
    display: none;
  }
}
@media (max-width: 15em) {
  .hide2 {
    display: none;
  }
}
@media (max-width: 10em) {
  .hide3 {
    display: none;
  }
}

我的控制器具有此功能:

<div class="text-container">
  <h3 class="heading"> 
    We do 
    <span class="hide3">fun </span>
    <span class="hide2">rocket </span>
    <span class="hide1">design </span>
    science 
  </h3>
</div>

我正在使用Ajax这样的请求:

Route::get('directeur/qualite', 'Directeur\qualiteController@index')->name('qualite');
Route::get('directeur/qualite/{texte}','Directeur\qualiteController@getResultOfQuestion')->name('getResultQuestion');

我想获得Controller中定义的函数的结果,但我不能这样做。我做错了什么?

2 个答案:

答案 0 :(得分:1)

试试这个

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');
                 }
     });

答案 1 :(得分:0)

你应该return response

return response()->json(compact('data'));