@vvrider
Ikeya TK

Как сделать put запрос с api в angular?

Как сделать put запрос с api в angular?

Нужно сделать PUT запрос к бекенд APi и передать параметры:

{

"params" : ["apple", "potato"]
}

Пробовал по примеру, но не работает) В ангуляре начала разбираться совсем недавно

var myApp = angular.module("myApp", []);
    myApp.controller("HttpPutController", function ($scope, $http) {

        $scope.UpdateData = function () {
            var data = $.param({
                зфкфьі:  ["apple", "potato"] ,
               
            });

            $http.put('http://*****/getmenu?'+ data)
            .success(function (data, status, headers) {
                $scope.ServerResponse = data;
            })
            .error(function (data, status, header, config) {
                $scope.ServerResponse =  htmlDecode("Data: " + data +
                    "\n\n\n\nstatus: " + status +
                    "\n\n\n\nheaders: " + header +
                    "\n\n\n\nconfig: " + config);
            });
        };
    });


(P.S **** - спрятал юрлку).

Огромное спасибо заранее!
  • Вопрос задан
  • 1009 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
var data = $.param({
                зфкфьі:  ["apple", "potato"] ,
               
            });


что это?

$http.put('http://*****/mongorest/control/get-menu?'+ data)


ммм... почему у вас данные в query string ложатся а не в тело запроса? Как смысл тогда PUT запрос делать?

Насколько я помню у монги нормальное REST api.

Должно быть как-то так:

$http.put('/some/url', {
    someKey:  ["apple", "potato"] ,
}).then(function (response) {
    // не пользуйтесь .success/.error
}, function (reason) {
    // пользуйтесь только промисами.
});


то есть никаких извращений и подоброго. И не пользуйтесь $.params. Вообще. Для query string у angular есть отдельный параметр в конфигурации запросов.

$http.get('/something', {
    params: {
         query: 'param'
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы