首页 > 解决方案 > “$save 不是函数”调用工作正常,但不执行 .then()

问题描述

我正在尝试调用以 $save 发布数组,然后执行成功或失败的回调函数。使用以下代码,请求完美执行并返回 200,但两个回调都不会执行。

var endpoint = "my valid url";
    var myResource = $resource(endpoint, 
                                  {}, 
                                  {saveStuff: {method: 'POST', isArray: true}}).saveStuff(payload);
    
    myResource.$save() //browser console says "myResource.$save is not a function"!
        .then(
            function(response){
               console.log("success");
            },
            function(error){
               console.log("failure");
            }
        )

如果我删除“isArray:true”

{saveStuff: {method: 'POST'/*, isArray: true*/}}).saveStuff(payload);

然后我得到一个 400(因为端点需要一个数组),但是我得到“失败”来打印到控制台。为什么“isArray”会使浏览器的东西 $save 不是函数?

标签: angularjs

解决方案


答案是采取不同的方法

MyResource.saveOrderNotes.saveStuff({orderId: $scope.orderId}, payload, 
            function(result, headers){
                console.log("success");
            },
            function(error){
                console.log("failure");
            });

推荐阅读