0

$resourceサービスを使用して、REST API で CRUD 操作を使用しています。

customer.id が設定されていない場合は、新しいレコードです。そのため、Post メソッドを使用して送信します

POST /info.json

どちらがいい

ただし、
customer.id が設定されている場合は、POST メソッドを使用して送信します

POST /info.json/1 

PUTメソッドを使用してこのようなものを送信することを期待していますが。

PUT /info.json/1 

なんで?私が間違っているところ

$scope.save = function() {

            var customer = new Customer();
            customer.id = $scope.$id;

            customer.name = $scope.name;
            customer.username = $scope.username;
            customer.password = $scope.password;

            customer.$save({controller: "info", processor: ".json"}, function(data) {
                if (data.status)
                    $location.path("/");
                else
                    alert('Request Failed: ' + data.msg);

            }, function(data) {
                alert('Request Failed 2: ' + data.msg);
            }
            );

 };
4

1 に答える 1

0

更新と ID の作成の間で操作を自動的に選択しないようです。

だから、周りの可能性があります

if ($scope.$id != null)
            {
               customer.$update({controller: "info", processor: ".json"}, function(data) {
                    if (data.status)
                        $location.path("/");
                    else
                        alert('Request Failed: ' + data.msg);

                }, function(data) {
                    alert('Request Failed 2: ' + data.msg);
                }
                );

            } else {
                customer.$save({controller: "info", processor: ".json"}, function(data) {
                    if (data.status)
                        $location.path("/");
                    else
                        alert('Request Failed: ' + data.msg);

                }, function(data) {
                    alert('Request Failed 2: ' + data.msg);
                }
                );
            }
};

angularにはUpdate操作がないように見えるため、リソースも追加します

update: {
            method: 'PUT',
        },

私はこれを行うためのより良い方法を知りません

于 2013-08-08T17:36:35.333 に答える