【问题标题】:angularjs ngResource success undefinedangularjs ngResource 成功未定义
【发布时间】:2015-05-20 19:28:38
【问题描述】:

我有一个像这样的 ngResource 工厂:

app.service 'Api', ['$resource', ($resource) ->
    {
        Student: $resource "/api/v1/students/:id", {id: "@id", option: "@option"}, { 'update': {method: 'PUT'}}
]

我有一个这样的控制器:

app.controller 'newStudentCtrl', ($scope, $state, Api) ->

    $scope.addNewStudent = ->
        student = Api.Student.save(
            student: $scope.newStudent
            )
        console.log(student.id)
        $state.go('student.new', { id: student.id})

新的学生记录已保存,但 student.id 返回未定义。

console.log(student) 返回以下内容:

Resource {student: Object, $promise: Promise, $resolved: false....
$promise: Promise
$resolved: true
id: 88
last_name: "Baggins"

如何处理成功回调以获取 student.id?

【问题讨论】:

  • id 是从数据库生成还是从前端生成?
  • 来自数据库。 student.id 值肯定在服务器响应中,但我已经尝试了文档中的示例代码,但无济于事。
  • 这会给 console.log(id) 带来什么? id 或未定义
  • 没关系,Reena,我已经解决了这个问题,并会发布一个答案。感谢您尝试提供帮助!你是冠军。

标签: javascript angularjs ngresource


【解决方案1】:

这对我有用:

$scope.addNewStudent = -> 
Api.Student.save { student: $scope.newStudent}, ((successResponse, headers) ->
    console.log successResponse.id
     ....

这里给出了解决方案:

handle error callback on save() method $ngResource

【讨论】:

    猜你喜欢
    • 2014-10-05
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-10
    • 2023-03-03
    • 2017-06-22
    • 2015-06-01
    • 2016-04-24
    相关资源
    最近更新 更多