0
POSTメソッドを使用してビューを再ロードせずにデータをAPIに送信したいと考えています。成功かエラーかにかかわらず、私のビューは実行後にリロードされます。私は、APIにデータを送信するために、この機能を使用していAngularJSのhttpリクエストの後にビューが再ロードされる
:
$scope.addObject = function (data) {
Object.add(data).then(function (response) {
$scope.isSubmitting = false;
if (response !== null)
toaster.pop(response.status, response.status, response.message);
return false;
});
};
それは、以下のサービスを使用しています:
.factory('Object', function ($http, $rootScope) {
var object = {},
url = $rootScope.apiUrl;
object.add = function (data) {
return $http({
url: url + '/object/add',
method: 'POST',
params: data
})
.then(function(response) {
return response.data;
});
};
return object;
});
ここでは、フォームのHTMLです。
<form class="object-form" ng-submit="addObject(objectData)">
<select name="type" ng-model="objectData.type">
[…]
</select>
<button type="submit">OK</button>
</form>
フォームは正常に動作し、ページを送信していません。ちょうどビューがリロードされます。
ビューの再読み込みを避けるにはどうすればよいですか?
UPDATE
要求は(ステータス= 200)に成功した場合、それはビューを再ロードしません。
フォームのHTMLを入力してください。 – Baruch
はフォームのHTMLで更新されましたが、他の要素から関数を呼び出すことさえも、私のフォームはまだリロードされます。 – fksr86
'ng-submit'を使わずにボタンで' ng-click'を使ってみましたか?申し訳ありませんが、他の要素から関数を呼び出すことがその意味であるかどうかはわかりません。 **編集**フォームが200でリロードされない場合、多分それはキャッチされていないエラーと関係があるでしょうか? '.catch'を追加してみてください。 – Baruch