Как передать данные из Javascript в PHP Laravel?

то, что я пытаюсь сделать, - это функция в 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');

Если вы получаете 500 в запросах ajax, вы не сможете увидеть трассировку стека в своем браузере, но вы все равно можете найти трассировку стека в файле storage/logs/*.log (имя файла может отличаться). Что говорит трассировка, когда ваш 500 произошел? Они поставляются с отметками времени, поэтому их будет легко обнаружить :)

Collapsed PLUG 01.05.2018 19:51
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
596
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

(Во-первых, извините за мой плохой английский)

Я предполагаю, что вы используете 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;
    }
)

Можете ли вы обновить эту страницу с помощью трассировки стека этой ошибки?

Спасибо за помощь, мне это очень помогло

Talked 01.05.2018 21:00

Другие вопросы по теме