Показать сообщение отдельно
  #578 (permalink)  
Старый 03.06.2014, 23:47
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от Maxmaxmaximus1001
 
Регистрация: 03.06.2014
Сообщений: 101

Унылого треша тред
Сообщение от Gozar
объедини операции, не можешь? на этом все, надоело расписывать очевидные вещи. Зачем вставлять себе палки в колеса ради какой-то неясной идеи мне не понятно.

Почему POST это UPDATE? Почему нет UPDATE? Почему я должен ограничиваться только 4 методами? Это искусственное никому не нужное ограничение. По сути бред.

В идеале я не должен думать о протоколе совсем, ни минуты. Это не мое дело как оно там внутри передается, так же как не должен думать о том какие провода куда подключены и что там за материнская плата на промежуточном сервере.
ПОДПИСЫВАЮСЬ ПОД КАЖДЫМ СЛОВОМ!!!!!!!!!!

ОБЩЕНИЕ должно быть совершенно на другом уровни абстракции, вот вам пример:



создаем на Ui сервис $api для общения с сайтом.

Он использует другой сервис $http, и похуй нам что он там постом или гетом передает, это не важно.

Когда мы захотим пообщатьяс с сервером мы будем с ним общаться на уровне $api.wall.post( 'Привет')


если мы передадим гетом то строка будет типа '/api.php?method=users.follow&id=11'
если передадим постом то url будет типа '/api.php' а обьект с параметрами закодируется как json в теле запроса. ну или как form data, это мы все настраиваем и указываем, но уже ВНУТРИ сервиса $api.


А да, для тех кто в танке, оно закомпилится в:

ui.service('$api', ['$http'], function($http) {
  var url = '/api.php';
  return {
    users: {
      follow: function(id) {
        return $http.post(url, {
          method: 'users.follow',
          id: id
        });
      },
      block: function(id) {
        return $http.post(url, {
          method: 'users.block',
          id: id
        });
      }
    },
    wall: {
      post: function(id, message) {
        return $http.post(url, {
          method: 'wall.post',
          id: id,
          message: message
        });
      },
      "delete": function(id) {
        return $http.post(url, {
          method: 'wall.delete',
          id: id
        });
      }
    }
  };
});

Последний раз редактировалось Maxmaxmaximus1001, 03.06.2014 в 23:52.
Ответить с цитированием