누구나 백본 모델을 데이터베이스에 저장할 수있는 작은 코드 스 니펫을 게시 할 수 있습니다.모델 데이터를 저장하기위한 Backbone.js 코드 스 니펫.
Backbone.sync가 jquery로 대체됩니다.
도움이 될 것입니다. 감사합니다. 경험에서
누구나 백본 모델을 데이터베이스에 저장할 수있는 작은 코드 스 니펫을 게시 할 수 있습니다.모델 데이터를 저장하기위한 Backbone.js 코드 스 니펫.
Backbone.sync가 jquery로 대체됩니다.
도움이 될 것입니다. 감사합니다. 경험에서
myModel = new Model id:'model1'
$.ajax '/urlWhereUWantToSaveModel',
type: 'POST'
data: myModel.toJSON()
dataType: 'json'
success: (response) ->
// Server response should be json object with an error property if something went wrong
if response.error
console.log 'save failed'
else
console.log 'save succeeded'
error: ->
console.log 'error'
, 일반 Sync
을 사용하는 대신 수집 및 모델에 명시 적으로 AJAX를 호출하는 것이 좋습니다. 더 많은 유연성을 제공합니다. 해야 할 일 목록에있는 작업 모음에 대해 Planbox에서 수행하는 작업은 다음과 같습니다. 우리는 서버를 가정
TaskCollection = Backbone.Collection.extend({ // Get all existing tasks from the server fetch: function(options) { var collection = this; // Remove references to callbacks so that calls further down // don't trigger them again! var onsuccess = options.success; if (options.success) delete options.success; var onerror = options.error; if (options.error) delete options.error; $.ajax({ url: '/get_tasks', type: 'GET', dataType: 'json', success: function(object, status) { collection.refresh(collection.parse(object)); if (onsuccess) onsuccess(collection, object); }, error: function(xhr, status, error) { if (onerror) onerror(collection, xhr.responseText); } } }); TaskModel = Backbone.Model.extend({ // Save a task on the server save: function(options) { var model = this; $.ajax({ url: '/save_task', type: 'POST', dataType: 'json', data: model.toJSON(), success: function(object, status) { if (options.success) options.success(model, object); }, error: function(xhr, status, error) { if (options.error) options.error(model, object.content); } } }); var tasks = new TaskCollection(); tasks.fetch();
참고 각 작업 개체에 대한 unqiue id
속성을 뱉는 다. 백본은이를 사용하여 모델을 식별합니다. 그래서 당신은 ID 12
으로 작업을 검색 할 수 tasks.get(12)
처럼 뭔가를 할 수 있으며, Planbox 우리가 save_status
및 move
같은 모델 save
기능의 풍부한 세트를 가지고 있습니다. 이를 통해 유효성 검사 및 업데이트와 같은 사전 및 사후 처리 기능을 추가 할 수 있습니다.
또한 우리는 일반 Backbone Collection 및 Model 객체를 확장하여 위의 가져 오기 및 저장 함수를 캡슐화했습니다.
감사합니다. 매우 도움이되었습니다. – user737688
이것은 CoffeeScript 코드이며 JavaScript가 아닙니다 (아직) –