то, что я пытаюсь сделать, - это функция в javascript, которая отправляет простые данные в контроллер laravel, а затем загружает их в базу данных, у меня проблема в том, что до сих пор я не мог найти способ отправить эти данные всегда получаю ошибку 500.
Контроллер Laravel:
public function crearRegistro(Request $request){
$registro = new Registro();
$registro->indicador = $request->indicador;
$registro->save();
}
Функция Javasript:
$scope.calculoIndicador = function(){
$http.post("/calculoIndicador")
.then(function(response) {
});
$scope.indicador = 5 +5;
alert('Se ha guardado correctamente');
}
Посмотреть:
<input class = "btn btn-success" style = "" ng-click = "calculoIndicador()"
type = "submit" value = "Enviar"/>
Маршрут:
Route::post('/calculoIndicador', 'TecnologiaController@crearRegistro');
(Во-первых, извините за мой плохой английский)
Я предполагаю, что вы используете Laravel 5.6. На контроллере вы должны использовать:
$request->all()
, чтобы получить данные, передаваемые контроллеру через сообщение на javascript. В вашем коде я предполагаю, что вам не нужен индикатор, поэтому:
$requestData = $request->all();
$registro->indicador = $requestData['indicador'];
Но в вашем javascript вы должны передать «indicador» в качестве параметра данных почтового запроса. Итак, в сообщении javascript (или машинописного текста Angular) сделайте что-то вроде этого:
$http.post("/calculoIndicador", {indicador: 'your_data'}).then(
function(response) {
$scope.status = response.status;
$scope.data = response.data;
}, function(response) {
$scope.data = response.data || 'Request failed';
$scope.status = response.status;
}
)
Можете ли вы обновить эту страницу с помощью трассировки стека этой ошибки?
Спасибо за помощь, мне это очень помогло
Если вы получаете 500 в запросах ajax, вы не сможете увидеть трассировку стека в своем браузере, но вы все равно можете найти трассировку стека в файле
storage/logs/*.log
(имя файла может отличаться). Что говорит трассировка, когда ваш 500 произошел? Они поставляются с отметками времени, поэтому их будет легко обнаружить :)