1
角度が$ HttpPostで2回実行されているときにいくつか問題があります。 あなたの情報のために、関数は "getActiveSpools()"関数から約束を返した後に実行されます。どういうわけか "http://testserver/LitzMobileListener/LitzScannerService.svc/PostMfgoSetup/"が2回実行され、データが2回アップロードされます。RESTで2回実行される角度HttpPost
私は角度とRESTで新しいです。
あなたの種類が役立ちますが、本当に私はそう私は答えに返信いたしますコメントの書き込みはできません
$scope.getActiveSpools().then(function (promise) {
$scope.spoolSetupHeader.STATUS = status;
$scope.spoolSetupHeader.OPTR_IN = $rootScope.globals.currentUser.employeeId;
$scope.spoolSetupHeader.PLANT_NO = $scope.spoolSetupHeader.setupMfgo.substring(1, 2);
$scope.spoolSetupHeader.MFGO_NO = $scope.spoolSetupHeader.setupMfgo.substring(2, 9);
$http({
url: "http://testserver/LitzMobileListener/LitzScannerService.svc/PostMfgoSetup/"
, method: "POST"
, data: JSON.stringify($scope.spoolSetupHeader)
, dataType: "json"
, contentType: "application/json; charset=utf-8",
}).then(function (result) {
$scope.returnedStatus = new ReturnedOperationStatus();
$scope.returnedStatus.IsSuccess = result.data.IsSuccess;
$scope.returnedStatus.Message = result.data.Message;
$scope.spoolSetupHeader = new OrderHeader();//new SpoolSetupHeader();
$scope.spoolSetupHeader.PO_ID = result.data.RecordKey;
$scope.spoolSetupHeader.ReturnedInfo = result.data.ReturnedObject;
if ($scope.returnedStatus.IsSuccess == true) {
alertTitle = "Success";
//upload source wire if needed
if ($scope.swNeeded == true) {
$scope.uploadMfgoSetupSpools('NEW', 'Active', true);
}
else {
$scope.uploadMfgoSetupSpools('UPDATE', 'Inactive', false);
}
//reload saved data
$scope.getSetupMfgo($scope.spoolSetupHeader.PO_ID, 'DETAILS_ACT', null, null);
//init new spool details list
//$scope.spoolSetupHeader.setupSpools = new Array();
//myNavigator.pushPage('partial-setupSpool.html', { animation: 'slide' })
}
else {
alertTitle = "Failed";
}
ons.notification.alert({
message: $scope.returnedStatus.Message,
title: alertTitle,
modifier: true
});
});
});//end promise
。https://docs.angularjs.org/api/ng/type/ $ rootScope.Scope#$これが正しい答えにあなたを導くことがあります。あなたの質問に十分に答えていないため申し訳ありません
ダイジェストから、私は$タイムアウトで呼び出しをラップしなければならなかった、とサーバー上のREST呼び出しで、checkiによって一度だけ更新されましたデータオブジェクトの 'DONE'カラムを更新する(または、/ INSERT/UPDATE/WHATEVERをログする方法を見つけて、最初の呼び出しですでに実行されている場合はアクションを実行しないでください)。 )。 非常に汚いクイックパッチですが、動作します...なぜそれが2回発生するのかを調査する時間が長くなります。 –