Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

request.js 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /**
  2. * Created by robin on 10/24/15.
  3. */
  4. (function () {
  5. 'use strict';
  6. angular.module('luticateUtils')
  7. .factory('luticateRequest', ['$q', '$http', 'luticatePromises', function ($q, $http, luticatePromises) {
  8. var luticateRequest = {};
  9. luticateRequest.get = function(url, dataGet, promise)
  10. {
  11. return luticateRequest.request(url, 'GET', dataGet, null, promise);
  12. };
  13. luticateRequest.post = function(url, dataPost, dataGet, promise)
  14. {
  15. return luticateRequest.request(url, 'POST', dataGet, dataPost, promise);
  16. };
  17. luticateRequest.put = function(url, dataPost, dataGet, promise)
  18. {
  19. return luticateRequest.request(url, 'PUT', dataGet, dataPost, promise);
  20. };
  21. luticateRequest.delete = function(url, dataPost, dataGet, promise)
  22. {
  23. return luticateRequest.request(url, 'DELETE', dataGet, dataPost, promise);
  24. };
  25. function reject(defered, data, status, promise)
  26. {
  27. var obj = {
  28. Data: data,
  29. Status: status
  30. };
  31. defered.reject(obj);
  32. if (promise != null) {
  33. luticatePromises.reject(promise, obj);
  34. }
  35. }
  36. function resolve(defered, data, promise)
  37. {
  38. defered.resolve(data);
  39. if (promise != null) {
  40. luticatePromises.resolve(promise, data);
  41. }
  42. }
  43. luticateRequest.request = function(url, method, dataGet, dataPost, promise)
  44. {
  45. if (promise != null) {
  46. luticatePromises.initPromise(promise);
  47. }
  48. var defered = $q.defer();
  49. var params = {
  50. url: url,
  51. method: method,
  52. params: dataGet,
  53. data: dataPost == null ? null : $.param(dataPost),
  54. headers: {
  55. 'Content-Type': "application/x-www-form-urlencoded"
  56. }
  57. };
  58. $http(params)
  59. .success(function (result, status) {
  60. if (result == null || result.Message != null) {
  61. var message = result == null ? "Failed to parse response" : result.Message;
  62. reject(defered, message, status, promise);
  63. }
  64. else {
  65. resolve(defered, result.Data, promise);
  66. }
  67. })
  68. .error(function (result, status) {
  69. if (result == null || result.Message != null) {
  70. var message = result == null ? "Failed to parse response" : result.Message;
  71. reject(defered, message, status, promise);
  72. }
  73. else {
  74. reject(defered, result, status, promise);
  75. }
  76. });
  77. return defered.promise;
  78. };
  79. return luticateRequest;
  80. }]);
  81. })();