2016-09-11 2 views
0

Я разрабатываю пример приложения, чтобы узнать angularjs, используя node.js. когда я отправляю данные бакэнду создать новую family я получаю сообщение об ошибке, как:

Error: $http:badreq 
Bad Request Configuration 
Http request configuration url must be a string. Received: 
{ 
    "method":"POST", 
    "url":"api/family", 
    "data": { 
       "username":"fagruddin", 
       "password":"valaanur", 
       "familyLeader":"fagruddin", 
       "husband":"fagruddin", 
       "wife":"rejiya", 
       "child":2 
    }, 
    "headers":{ 
     "Content-Type":"application/x-www-form-urlencoded" 
    } 
} 

, что здесь не так? кто-нибудь поможет мне решить это?

Live Demo for your reference

ответ

2

Если вы используете метод ярлык пост, опустить параметр конфигурации делает первый параметр URL-адрес.

Поскольку вы передали объект конфигурации вместо URL-адреса в качестве первого параметра, вы получаете сообщение об ошибке.

$http.post(
    '/api/family', 
    vm.form, 
    {headers: {'Content-Type': 'application/x-www-formurlencoded'}} 
).success(function(data) { 
    console.log('data', data); 
}) 

, если вы используете прямой HTTP, то вы можете передать объект конфигурации:

$http({ 
    method: 'POST', 
    url: 'api/family', 
    data : vm.form, 
    headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
}).success(function(data) { 
    console.log('data', data); 
}) 
+0

Я использую второй подход не так ли? то почему я получаю ошибку? – user2024080

+0

Нет, вы используете ярлык сообщения. Ваш вызов выглядит как $ http.post – swestner

+0

, но получение этой ошибки: 'angular.js: 12011 POST https://myfamily-a3gwebtrain.c9users.io/api/family 500 (Internal Server Error)' - но когда я использую 'почтальон' работает – user2024080