Задать вопрос
anaximen
@anaximen

Backbone.js файловое поле в модели?

Доброе время суток, подскажите как с помощью backbone.js модели аплоадить файлы на сервер?
  • Вопрос задан
  • 5355 просмотров
Подписаться 3 Оценить 3 комментария
Пригласить эксперта
Ответы на вопрос 2
Litiy
@Litiy
stackoverflow.com/questions/6500379/file-upload-with-backbone извиняюсь, случайно не туда написал
Ответ написан
Комментировать
anaximen
@anaximen Автор вопроса
Чтобы не выдергивать кусок проекта с гитхаба приведу пример тут.
Модель на CoffeeScript выглядит вот так:
class document.model_prototypes.TmpIconModel extends Backbone.Model
    urlRoot: "/admin/tmp_icon"
    methodMap:
      'create': 'POST'
      'update': 'PUT'
      'delete': 'DELETE'
      'read':   'GET'
    sync:(method, model, options)->
      type = this.methodMap[method]
      self=this
      if type == 'DELETE' or type =='GET' 
        return Backbone.sync(method, model, options)
      else
        form=new FormData()
        form.append('temporary_term_icon[image]',this.attributes.image)
        url = this.url()
        if options.url
          url = options.url
        xhr = new XMLHttpRequest()
        xhr.onreadystatechange = 
          ()->
            if xhr.readyState == 4
              if xhr.status== 200 or xhr.status == 201
                options.success($.parseJSON(xhr.response),xhr.status,xhr)
              else
                options.error(self,$.parseJSON(xhr.response))
        xhr.open(type, url)
        xhr.setRequestHeader('Accept', 'application/json')
        xhr.send(form)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы