2016-01-16 1 views
1

Я работаю над проектом Laravel 5.2.10, я пытался получить некоторые данные через ajax, но я получаю ошибку 500, и я не могу найти что я упускаю.Ошибка внутреннего сервера Ajax-запрос на Laravel 5.2.10 проект

Это часть моей routes.php

Route::group(['middleware' => 'web'], function() { 
    Route::auth(); 
    Route::get('/home', '[email protected]'); 
    Route::get('/videos', '[email protected]'); 
    Route::post('/videos/fetch', array('before' => 'ajax_check'), '[email protected]'); 
}); 

На моем 'AjaxController.php' Я получил эту функцию

public function postFetch() 
{ 
    //Process data and come up with $data 
    return view('videos')->with('video_data', $data); 
} 

И это Аякса вызов JS

var request = $.ajax({ 
    url: "/videos/fetch", 
    method: "POST", 
    data: { url : url } 
}); 

request.fail(function(jqXHR, textStatus) { 
    alert("Request failed: " + textStatus); 
}); 

МетодNotAllowedHttpException в строке RouteCollection.php 219: в строке RouteCollection.php 219 в RouteCollection-> methodNotAllowed (array ('POST')) в строке RouteCollection.php 206 в RouteCollection-> getRouteForMethods (объект (запрос), массив ('POST')) в RouteCollection.php line 158

+0

MethodNotAllowed намекает, что ваш пост маршрут не подхватили. Что делает промежуточное программное обеспечение 'web'? Ваш метод 'postFetch()' не объявляет переменную '$ data', это потому, что вы удалили код, чтобы упростить его? Также ваш почтовый маршрут неверен. Он должен быть в следующем формате: «Маршрут :: пост» («видео/выборка», массив ( «before» => «ajax_check», 'uses' => 'AjaxController @ postFetch' )); ' – Jeemusu

+0

$ data поколение опущено да. middleware web управляет информацией о сеансе. Я считаю, что проблема в route.php, но я не уверен, что это такое, что-то относительно способа управления данными POST. – jonystorm

+0

У вас включено кэширование маршрута? Ожидают ли маршруты «php artisan routes» ожидаемые маршруты? – Jeemusu

ответ

2

MethodNotAllowed исключения намекает, что ваш пост маршрут не подхватил. Формат вашего почтового маршрута выглядит немного странным для меня. Он должен быть в следующем формате

Route::post('videos/fetch', array('before' => 'ajax_check', 'uses' => '[email protected]'));

+0

Я пробовал это но я все равно получаю ту же ошибку – jonystorm

0

Установили ли вы права на папку хранения? Пожалуйста, проверьте ваши внутренние ошибки PHP-сервер для получения дополнительной информации с помощью команды:

tail /var/log/php_errors.log 
+0

. Вы также можете проверить это решение здесь [ссылка] (http://stackoverflow.com/a/32257188/1763461) – PhillipMwaniki