2015-03-13 2 views
0

Этот вопрос может быть задан несколько раз, но не нашел соответствующих релевантных ответов на него. Мне нужно проверить сообщение об успехе и ошибке на каждом вызове api. Но я думаю, что не использую правильный способ вызова api. Пожалуйста, помогите мне.

мой контроллер.

'use strict'; 
    (function (ng, app) { 
     app.controller('OrganisationController', function ($scope, $route, $routeParams, $location, orgService) { 

      $scope.delete = function (row) { 
       $scope.OrganisationDelete.M_Organization_Id = row.entity.M_Organization_Id; 
       $scope.OrganisationDelete.deleteFlag = true; 
       var r = 0 
      orgService.orgSVC.UpdateOrg($scope.OrganisationDelete, 
function success(data, status, headers, config, params) { 
       //work on success 


      }, function error() { 
       alert('error'); 
      }) 
     }); 
    })(angular, mainApp); 

моя служба

'use strict'; 
(function (ng, app) { 
    app.factory('orgService', function ($resource) { 

     var orgService = {}; 
     orgService.orgSVC = $resource('http://localhost:33327/api/Organisation', {}, { InsertOrg: { method: 'POST', isArray: true }, GetOrg: { method: 'GET', isArray: true }, UpdateOrg: { method: 'PUT', isArray: false } }); 
     return orgService; 
    }); 
})(angular, mainApp); 

МОЯ API

public int Put(Organisation obj) 
     { 
      int result = 0; 
      if (obj.deleteFlag == true) 
      { 
       int id = obj.M_Organization_Id; 
       result = OrganisationBO.Instance.DeleteOrganisation(id); 
      } 
      else 
      { 
       result = OrganisationBO.Instance.UpdateOrganisation(obj); 
      } 

      return result; 
     } 

Reult либо возвращать 0 или 2 ... В зависимости от этого) или 1 я должен показать сообщение, как если 1 затем некоторое сообщение и 0, то некоторое сообщение

+0

зависит от вашей функции updateorg, что она возвращает, предупреждение (данные) может помочь вам понять это. затем проанализируйте ответ и выясните, успешно ли он. –

+0

предупреждение (данные) возврат .... [объект объект] @ notorious-pet0 – Abhishek

+0

alert (data.toSource()); –

ответ

0

Из официального документа ция для $resource:

методы действий на объект класса или объект экземпляра может быть вызван со следующими параметрами:

  • HTTP GET "класс" действия: Resource.action ([параметры], [успех], [ошибка])

  • не-ГЭТ "класса" действия: Resource.action ([параметры], PostData, [успех], [ошибка])

  • не-GET Insta сть действие:. Экземпляр $ действие ([параметры], [успех], [ошибка])

В вашем примере, вы можете написать:

orgService.orgSVC.UpdateOrg(
    $scope.OrganisationDelete, 
    function success(data){ 
     //do something on success 
    }, 
    function error(http){ 
     //do something on error 
    } 
}); 
+0

спасибо за ответ ... на api я передаю результат = 1, если успех ..... так как я должен проверить успех, если данные возвращают успех = 1 – Abhishek

+0

, как было упомянуто в другом ответе, данные передаются как параметр функции успеха, и объект ответа HTTP передается функции сбоя. – Claies

+0

Я не возвращаю массив, я просто возвращаю одну переменную. Поэтому всякий раз, когда я смотрю в своих данных, я не могу получить свою переменную или мою ценность.Как и я хочу сообщение if (variable == true) {alert ('success')} – Abhishek

0

Просто добавьте обратный вызов ошибки после успех обратного вызова:

orgService.orgSVC.UpdateOrg(
    $scope.OrganisationDelete, 
    function (data) { 
     //work on success 
    }, 
    function (http) { 
     //work on failure 
    } 
) 

параметр, передаваемый в провал обратного вызова http response объекта, без свойства ресурса.

Пожалуйста, внимательно ознакомьтесь с документом.

+0

Как проверить, возвращает ли моя переменная данные true или false – Abhishek

Смежные вопросы