angularjs - 如何从 Angular 资源 $save() 读取响应并保留原始数据

标签 angularjs angularjs-resource

我是 Angular 新手。我确信我在这里缺少一些基本的东西。

我有一个对象,我将其发布到服务器来创建它。服务器返回对象 Id,我需要读取并更新客户端中的对象。

服务器只会返回对象ID,但是,在客户端,我有其他数据,当我执行回调时我无法使用这些数据(我无权访问原始数据)。

The Following jsfiddle code has been added as a reference :

//Get Angular Project module
var app = angular.module("app", ['ngResource']);

//create Project factory
app.factory('Project', function ($resource) {
    return $resource('http://cmsanalyticsdev.pearson.com\\:8081/api/projects/:projectid',
            {projectid:'@id'},
            {update: {method:'PUT', isArray:false}}    
    );

});


//Controller for testing
app.controller('ApplicationController', function ($scope, Project) {

//Project object
var project = new Project({"name":"New Project Test","thumbnail":"","statusid":"521d5b730f3c31e0c3b1e764","projecttypeid":"521f585c092a5b550202e536","teamid":"521f585a092a5b550202e521","authors":[{"firstname":"Dilip","lastname":"Kumar"}],"projectspecificmetadata":{"isbn13":"345345","guid":"asfas"},"modifiedby":"521f585a092a5b550202e525"}
);
//Create new project
project.$save(project, function (projectResponse) {
                        project.projectId = projectResponse._id;
                        alert(project.name);
                    });

});

最佳答案

我想你想要这样的东西:

//Controller for testing
app.controller('ApplicationController', function ($scope, Project) {

        //Project object
        var projectData = {"name":"New Project Test","thumbnail":"","statusid":"521d5b730f3c31e0c3b1e764","projecttypeid":"521f585c092a5b550202e536","teamid":"521f585a092a5b550202e521","authors":[{"firstname":"Dilip","lastname":"Kumar"}],"projectspecificmetadata":{"isbn13":"345345","guid":"asfas"},"modifiedby":"521f585a092a5b550202e525"};
        var project = new Project(projectData);

        //Create new project
        project.$save(project, function (projectResponse) {
                                projectData.projectId = projectResponse.id;
                                console.log("ProjectData: %j", projectData);
                            });

    });

关于angularjs - 如何从 Angular 资源 $save() 读取响应并保留原始数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18517872/

相关文章:

angularjs - 从 Angular 中的 $scope 输出数字

javascript - ng-class 在满足条件后不立即设置类

javascript - 针对资源的 AngularJS 自定义验证

javascript - AngularJS 资源工厂总是返回空响应

AngularJS 资源 - PUT 方法未获取 id

angularjs - 如何从grails(后端)中的angularjs接收上传的文件?

javascript - ng-change 不适用于 ng 选项

javascript - 如何使用 Angular js 1 将嵌套对象放入数据库?

angularjs - 为多个API调用构建 '$resource'服务

javascript - AngularJS 1.2.19 从嵌套 $resource 服务返回值