У меня есть вызов AJAX, который выглядит следующим образом:
function getPosts(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.post("get-posts",
function(data, status){
console.log(data);
console.log(status);
});
}
И в моих routs / web.php у меня есть:
Route::post('get-posts','PagesController@getPosts');
Ифункция controller_function выглядит следующим образом:
public function getPosts(){
$posts = DB::table('users_queries')->get();
echo json_encode($posts);
}
Но проблема в том, что консоль записывает пустую строку.Чтобы убедиться, что я конвертировал объект php, я также вызвал функцию gettype($posts);
, и она вернула объект.Затем я подумал, что проблема может быть в тегах <script>
, и попробовал этот typeof(data)
, и он также вернул строку, которая убедилась, что данные являются строкой.Но когда я запустил console.log(data.length);
, я был шокирован, потому что он записал 0. Но я смог сделать что-то вроде:
public function getPosts(){
$posts = DB::table('users_queries')->where('id', 1)->first();
echo $posts->author;
}
И все прошло хорошо, но я не могу получить весь JSON.Так в чем же проблема в моем коде?Я не могу понять это.Пожалуйста, помогите.