Javascript 使用错误路径的带角度的面片
因此,我尝试使用Angular向Rails服务器发出补丁请求,以更新用户角色 我调用的代码如下所示:Javascript 使用错误路径的带角度的面片,javascript,ruby-on-rails,angularjs,Javascript,Ruby On Rails,Angularjs,因此,我尝试使用Angular向Rails服务器发出补丁请求,以更新用户角色 我调用的代码如下所示: $scope.updateUser = (user, selectedRole) -> # Update the role of user $http.patch({ url: '/users/' + user.id, data: {user: {id: user.id, role: selectedRole}
$scope.updateUser = (user, selectedRole) ->
# Update the role of user
$http.patch({
url: '/users/' + user.id,
data: {user: {id: user.id, role: selectedRole}}
})
当我运行此代码时,我可以在Rails服务器日志中看到此请求:
Started POST "/[object%20Object]" for 127.0.0.1 at 2014-11-29 17:59:01 +0200
在javascript控制台中,我看到以下内容:
PATCH http://localhost:3000/[object%20Object] 404 (Not Found)
当我清楚地将信息发送的路径设置为“/users/userId”
,为什么它是一个对象
Plnkr链接:您能提供Plnkr吗?只是一个猜测,但是在补丁请求之前挂接调试器,看看
'/users/'+user.id
实际返回的是什么,或者user.id
的值到底是什么plnkr?另外,我的user.id是2。这是一个简短的代码片段,创建于您可以在此处发布的链接处。在那里,你可以用一种简短的方式演示你的问题,其他人不必复制粘贴你的代码来尝试。添加了链接。但是它在那种环境下似乎根本不起作用。我发现,如果我像这样编写命令:$http.patch('/users/'+user.id,data:{user:{id:user.id,role:selectedRole})
,那么它就起作用了。但这会使代码看起来不那么可读。