`$http:badreq Bad Request Configuration` - 来自 angular post 方法,这里有什么问题?

`$http:badreq Bad Request Configuration` - from angular post method, what is wrong here?

我正在开发示例应用程序以使用 node.js 学习 angularjs。当我 post 数据后端创建一个新的 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

如果您使用快捷方式 post 方法,则省略配置参数,使第一个参数成为 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 );
})