17

$http を使用して新しいコメントを送信しようとしています。タイトルから推測したかもしれませんが、機能していません。ショアバージョンとロングバージョンを試しましたが、どちらも失敗しました。コンソール エラーはありません。

これは私のコードです:

$scope.comment = {};
$scope.comment["comment"] = message; // message defined somewhere else

$http.post('/api/items/'+$scope.item.id+'/comments', $scope.comment)
    .success(function(data, status, headers, config) {
         // this isn't happening:
         console.debug("saved comment", $scope.comment);
    })
    .error(function(data, status, headers, config) {
         // this isn't happening:
         console.debug("saved comment", $scope.comment);
    })
}

誰でもこれを機能させる方法について何か考えがありますか? ありがとう!

アップデート:

私は今、Jquery ajax 呼び出しとしてそれを行っていますが、これは正常に機能しています。ただし、angularで動作させるといいでしょう。ただし、これは私の JQuery コードです。

            var request = $.ajax({
                url: '/api/items/'+$scope.item.id+'/comments',
                type: "POST",
                data: JSON.stringify($scope.comment),
                contentType: 'application/json; charset=utf-8',
                dataType: "json"
            });

            request.done(function(msg) {
                console.debug("saved comment", $scope.comment);
            });

            request.fail(function(jqXHR, textStatus) {
                alert( "Request failed: " + textStatus );
            });

誰かがこれをどのように角度付けするかについて何かアイデアを持っている場合は、教えてください。適切な方法でそれを行うといいでしょう....

4

9 に答える 9

0

$http オブジェクトでコントローラーを初期化する必要があります。使用したい他の Angular サービスについても同様です。

例えば:

function myCtrl($scope, $http) {
  // controller code
}
于 2013-05-08T04:49:19.013 に答える