2

私は一般的にAngularとコーディングを始めたばかりなので、我慢してください...

現在、基本的な電話帳のような CRUD アプリを作成しようとしています。これまでのところ、連絡先の追加と表示に問題はありませんが、MongoLab の APIを介して MongoLab でモデルを更新する方法に行き詰まっています。$http.put

正しい方向への助けや指針をいただければ幸いです。

ここに私の UpdateCtrl 関数と関連するフォームが添付されています (デモ目的でここに一般的な URL を配置しました)。

controller.js

function UpdateCtrl($scope, $http, $routeParams, $location){
$scope.contactId = $routeParams.contactId;

var url = 'https://api.mongolab.com/api/databases/<d>/collections/<c>/<id>;

$http.get(url).
    success(function(mongoDataById) {
        $scope.contact = mongoDataById;
    });

$scope.updateContact = function() {
    $http.put(url, $scope.contact);
    };
}

update.html (部分図)

<form ng-submit="updateContact()">

    <label for="fullname">Name</label>
    <input type="text" id="fullname" ng-model="contact.fullname" ><br/>

    <label for="email">Email</label>
    <input type="text" id="email" ng-model="contact.email"><br/>

    <label for="phone">Phone</label>
    <input type="text" id="phone" ng-model="contact.phone"><br/>

    <button type="submit">Update</button>
</form>

編集

@Stewie と @Arun P Johny、updateContact() を実行してもコンソールにエラーはないようです。現在の $scope のフォームに変更が加えられていても、最初の GET リクエストの結果と同じデータで PUT リクエストを送信していると思われます。(そして、はい、URL に特定の contactId があります - ブラウザーでテストし、選択した特定の連絡先のデータを取得します)

@pkozlowski.opensource - ええ、このプロジェクトを開始したときに実際にそのライブラリを追加しましたが、かなり単純な $http POST および GET 関数を使用できるようになったとき、必要ではないと感じました。基本的な $http.put の使い方がわからない場合は、今すぐ試してみてください。

4

1 に答える 1