У меня есть различные входы, которые вызывают эту функцию при изменении:

$scope.updateOutputData = function(){
    // gathering data and making data object
    $scope.selectionObject = {
      "departure_city" : departureCityDigest,
      "departure_country" : departureCountryDigest,
      "budget_min" : $scope.budget.min,
      "budget_max" : $scope.budget.max,
      "person_count" : $scope.selectedPersonCount,
      "currency" : $scope.selectedCurrency,
      "month" : $scope.selectedMonth,
      "year" : $scope.selectedYear,
      "flight_duration_min" : $scope.flightDuration.min,
      "flight_duration_max" : $scope.flightDuration.max
    };

    // implement functionality to send this object to be read by backend

}

По сути, эта функция собирает все входные данные, а затем должна отправить этот объект в бэкэнд, поэтому в бэкэнде я могу обработать эти данные, а затем, в зависимости от этого, вернуть обратно JSON API с данными из базы данных.

Я не знаю, как это кодировать. Я добавил комментарий внизу своего метода. Должен быть код, который отправляет данные в серверную часть и ожидает возврата некоторого JSON API. Как бы выглядел этот код?

0
Kunok 20 Апр 2016 в 03:55

2 ответа

Лучший ответ

Вы должны сделать что-то подобное в angular

        $http.post(url, data).success(onSuccess).error(onError);

         function onSuccess() {
                    //Your success logic;
                }

                function onError() {
                     // Your error logic
                }

На сервере - предположим, вы используете java, вы должны сделать что-то вроде:

 @RequestMapping(method = RequestMethod.POST, value = "/yourUrl", headers = "Accept=application/json, text/html")
    public ModelAndView updateActivities (@RequestBody YourDataModel data) {

           //your server logic
}
1
Daniela 20 Апр 2016 в 02:58
$http.post(ENDPOINT, $scope.selectionObject).then(function(success) { /* awesome */ }, function(error) { /* error */ });

Извините, набрал это на моем iPhone. Не забудьте ввести $ http в свой контроллер. И замените ENDPOINT своим URL-адресом API.

0
user1027620 20 Апр 2016 в 01:00