Почему я получаю "$ http:badreq"? AngularJS $ http метод и класс Zend 3 AbstractRestfulController - PullRequest
0 голосов
/ 22 января 2020

Метод get класса AbstractRestfulController выглядит следующим образом:

public function get($id)
{
    $user = $this->userModelService->getUserRepository()->find($id);
    if (!$user) {
        return new JsonModel(['message' => 'No user with this ID']);
    }

    return new JsonModel([
        'user' => $user,
    ]);
}

и AngularJS контроллер:

apiApp.controller('getCtrl', function getCtrl($scope, $http)
{
    var getc = this;
    getc.finalUrl = "";
    getc.mainUri = "";

    getc.sendRequest = function sendRequest(mainUrl, userId)
    {
        getc.finalUrl = 'http://user.local/user/api/1';
        //mainUrl + '/' + userId;
        $http.get({
                url: 'http://user.local/user/api/1',
                method: 'GET',
                // params: {"id": userId}
            })
            .then( function onSuccess(responce){
                getc.msgData = responce.data;
                getc.msgConfig = responce.config;
                getc.msgHeaders = responce.headers;
            } , function onError(responce){
                getc.msg = responce.statusText;
            } );
    };
});

Я тестировал API через командную строку и я получаю результат.

Но с точки зрения просмотра с помощью AngularJS я получаю $ http:badreq ошибку!

Не могли бы вы помогите найти что не так с этим кодом?

1 Ответ

0 голосов
/ 22 января 2020

Эта ошибка возникает, когда параметр конфигурации запроса, переданный службе $ http, не является допустимым объектом. $http ожидает один параметр, объект конфигурации запроса, но получил параметр, который не был объектом или не содержал допустимых свойств.

Сообщение об ошибке должно содержать дополнительный контекст, такой как фактическое значение параметра это было получено.

̶$̶h̶t̶t̶p̶.̶g̶e̶t̶(̶{̶
$http({
    url: 'http://user.local/user/api/1',
    method: 'GET',
    // params: {"id": userId}
})
...