$ http успех область закончена загрузка возможна?

$http({
 url: "php/InsertTab.php",
 method: "POST",
 data: {
 'userId': userId,
 },
 headers: {'Content-Type': 'application/x-www-form-urlencoded'}
 }).success(function(data, status, headers, config) {

 myVar = data;

 }).error(function(data, status, headers, config) {
 });

как дождаться успеха? там нет.от в угловом $ http

2 ответа

Вы можете использовать метод .success:

.success (функция (данные, статус, заголовки, конфиг) {

<pre class="prettyprint linenums"> // this callback will be called asynchronously // when the response is available }) </pre>


Если вы имеете в виду область обновления, вы можете напрямую назначить область из обратного вызова успеха.

$http({
 url: "php/InsertTab.php",
 method: "POST",
 data: {
 'userId': userId,
 },
 headers: {'Content-Type': 'application/x-www-form-urlencoded'}
 }).success(function(data, status, headers, config) {

 $scope.myVar = data;

 }).error(function(data, status, headers, config) {
 });

Если вам нужно показать индикатор загрузки или так, вы можете использовать API обещаний, который предоставляет метод then(success, error), например:

function MyCtrl($scope) {
 $scope.ajaxLoading = true;

 $scope.ajaxComplete = function() {
 $scope.ajaxLoading = false;
 };

 $http({
 url: "php/InsertTab.php",
 method: "POST",
 data: {
 'userId': userId,
 },
 headers: {'Content-Type': 'application/x-www-form-urlencoded'}
 }).success(function(data, status, headers, config) {

 $scope.myVar = data;

 }).error(function(data, status, headers, config) {
 }).then($scope.ajaxComplete, $scope.ajaxComplete);
}

Вы можете позже сделать это общее с использованием перехватчиков AJAX. См. Страницу документации AJAX:

https://docs.angularjs.org/api/ng/service/ $ http

licensed under cc by-sa 3.0 with attribution.