Angularjs не публикует данные JSON в REST API

Я новичок в AngularJS. Я пытаюсь отправить данные на локальный сервер. Ниже приведен код.

        var postObject = new Object();
        postObject.email = "emailtobesaved1";
        postObject.userData ="userDatatobeSaved";
        var s=JSON.stringify(postObject);

        $http({
            url: 'http://localhost:8080/people',
            dataType: 'json',
            method: 'POST',
            data: s,
            headers: {
                "Content-Type": "application/json"
            }
        }).success(function(response){
            $scope.response = response;
        }).error(function(error){
            $scope.error = error;
        });

Эти данные не публикуются. Я что-то пропустил? Я активировал правильный фильтр CORS на стороне сервера. Серверная часть представляет собой загрузочное приложение Spring.

Заранее спасибо.


person emredmrl    schedule 25.04.2015    source источник
comment
Какое сообщение об ошибке вы получаете?   -  person simeg    schedule 25.04.2015
comment
Вы отправляете данные в виде строки, но устанавливаете заголовок типа содержимого в application/json, поэтому, скорее всего, ваш сервер не может это обработать.   -  person Robin-Hoodie    schedule 25.04.2015
comment
Проверьте фактический запрос на вкладке сети инструментов разработчика браузера. Нужны подсказки для дальнейшей отладки. Почему вы используете JSON.stringify()?   -  person charlietfl    schedule 25.04.2015
comment
Кроме того, возникла проблема с CORS, хотя я применил фильтр. Следующее решение тоже сработало. stackoverflow.com/questions/9310112/ Спасибо!   -  person emredmrl    schedule 25.04.2015


Ответы (1)


Вы не должны преобразовывать свой объект данных в строку и отправлять его. Отправьте его как сам объект json

Вместо этого попробуйте этот код:

var postObject = new Object();
    postObject.email = "emailtobesaved1";
    postObject.userData ="userDatatobeSaved";
    //var s=JSON.stringify(postObject);

    $http({
        url: 'http://localhost:8080/people',
        dataType: 'json',
        method: 'POST',
        data: postObject,
        headers: {
            "Content-Type": "application/json"
        }
    }).success(function(response){
        $scope.response = response;
    }).error(function(error){
        $scope.error = error;
    });
person shivas    schedule 25.04.2015