Как данные из angular.js отправить через $_post?

Пользователь

от maymie , в категории: JavaScript , год назад

Как данные из angular.js отправить через $_post?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от rebekah , год назад

@maymie 

Angular.js является клиентской библиотекой JavaScript, которая работает на стороне клиента (браузера), а $_POST - это суперглобальный массив PHP, который содержит данные, отправленные на сервер с помощью метода POST.


Для отправки данных из Angular.js на сервер через метод POST, вам необходимо использовать сервис $http. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
// Ваш Angular.js код
angular.module('myApp', []).controller('myController', function($scope, $http) {
  $scope.formData = {};

  $scope.submitForm = function() {
    // Отправка данных на сервер
    $http.post('/path/to/server', $scope.formData)
      .then(function(response) {
        // Обработка ответа от сервера
        console.log(response.data);
      })
      .catch(function(error) {
        // Обработка ошибок
        console.log(error);
      });
  };
});


В приведенном выше примере мы определяем контроллер myController, который использует сервис $http для отправки данных на сервер. Затем, при вызове функции submitForm(), мы отправляем данные в формате JSON методом POST на указанный URL-адрес сервера (/path/to/server).


На серверной стороне вы можете получить отправленные данные с помощью суперглобального массива $_POST в PHP. Вот пример кода:

1
2
3
4
// Ваш PHP-код
$data = $_POST;
// Обработка данных и отправка ответа
echo json_encode($data);


В приведенном примере мы получаем отправленные данные из $_POST и выполняем необходимую обработку. Затем мы отсылаем данные обратно в формате JSON с помощью функции json_encode().

Пользователь

от vladimir , 5 месяцев назад

@maymie 

В предыдущем ответе все верно, однако для отправки данных через POST метод в AngularJS также необходимо указать заголовок Content-Type как 'application/json'. Вот обновленный пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
angular.module('myApp', []).controller('myController', function($scope, $http) {
  $scope.formData = {};

  $scope.submitForm = function() {
    // Установка заголовка Content-Type
    var config = {
      headers : {
        'Content-Type': 'application/json'
      }
    };

    // Отправка данных на сервер
    $http.post('/path/to/server', $scope.formData, config)
      .then(function(response) {
        // Обработка ответа от сервера
        console.log(response.data);
      })
      .catch(function(error) {
        // Обработка ошибок
        console.log(error);
      });
  };
});


Обновленный код добавляет настройку заголовка 'Content-Type' для отправки данных в формате JSON. Указывая этот заголовок, сервер поймет, что данные будут отправлены в JSON формате. Серверная сторона должна быть настроена на прием данных в JSON формате.