이 메시지는 여러 번 요청되었지만 ... 찾을 수 없습니다. 오후 10시 30 분 여기에 당신과 함께 그냥두고 가야 해!angularjs에서 제한 시간이 초과되었습니다.
기본적으로 json 서버 메소드에 두 건의 호출이 있습니다. 데이터를 업데이트하고 새 합계를 얻습니다. 논리적으로 업데이트 데이터가 먼저 호출되고 $ emit을 통해 새 합계를 가져 오는 알림을 보냅니다. 불행히도 서버 컨트롤러에 중단 점을 넣으면 SetAlertRead 전에 GetAlertTotals가 호출되므로 잘못된 데이터가 반환됩니다.
'합계'코드는 다른 컨트롤러이며, 따라서 $ 공개/가입/방출 :
$scope.$on('RefreshUnreadItemsCounter', function() {
$scope.alertCount = $scope.GetAlertCount();
$scope.alertTotals = $scope.GetAlertTotals();
$scope.$apply();
});
를 데이터는 이하의 (부분)의 정의와 더불어, uiGrid이다 :
$scope.gridOptions.onRegisterApi = function (gridApi) {
$scope.gridApi = gridApi;
$scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.EDIT);
$scope.gridApi.selection.on.rowSelectionChanged($scope, function (row) {
var authorisationToken = $('input[name="__RequestVerificationToken"]').val();
row.entity.AlertSeen = true;
$scope.message = row.entity.Message;
$http({
url: '/Alerts/SetAlertRead',
contentType: "application/json; charset=utf-8",
method: 'POST',
data: { rowId: row.entity.UserAlertsId },
headers: { '__RequestVerificationToken': authorisationToken }
});
$scope.$emit('RefreshUnreadItemsCounter');
});
사용자는 행을 클릭하여 행과 관련된 데이터를 표시하고 '읽습니다', json 호출 (/Alert/SetAlertRead
)을 통해 데이터 업데이트를 트리거합니다. json 호출을 실행할 약속 시간을주기 위해 $ emit 호출 전에 시간 초과를 설정한다고 가정합니다. 그러나 확실하지 않습니다.
도와주세요! 마음에 들지 않으면 최대한 많은 코드가 필요합니다! 다시 한번 감사드립니다.
감사합니다. Andriy - 완벽한 명확성으로 문제를 해결했습니다. 나는 충분한 질문을 아직하지 않았기 때문에 나는 당신의 대답을 업 그레 이드 할 수 없다 ... 나는 2 년 밖에 등록되지 않았다 ... – Jerry