2013-10-19 5 views
0

백본 localStorage를 사용하여 서버에 전화를 걸려면 어떻게해야합니까?이 질문을 보았지만 적용 위치를 모르겠습니다.백본 LocalStorage 사용 및 서버 호출 계속

define([ 
    'underscore', 
    'backbone' 
], function(_, Backbone) { 

    var Search = Backbone.Model.extend({ 
    url: '/music' 
    }); 
    return Search; 
}); 

이 this.model.save 날이 오류를 제공 작동하지 않습니다 : 여기에

define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'models/song', 
    //'collections/songs', 
    //'views/song', 
    'text!templates/search.html' 

], function($, _, Backbone, SearchM, SearchT){ //Song, Songs, SongV, 

    var Search = Backbone.View.extend({ 
    model: SearchM, 
    el: $("#Sirius"), 
    events: { 
     'submit #searchMusic': 'search' 
    }, 
    search: function (search) { 
     console.log(SearchM); 
     this.model.save({ 
     channel: this.$el.find('#channel'), 
     week: this.$el.find('#week'), 
     year: this.$el.find('#year'), 
     filter: this.$el.find('#filter') 
     }); 
     console.log('saved'); 
    }, 
    render: function() { 
     this.$el.html(SearchT); 

    } 
    }); 
    return Search; 
}); 

가 모델 : 여기

Backbone.js able to do rest and localstorage?

뷰 내 코드입니다

Uncaught TypeError: Object function(){return r.apply(this,arguments)} has no method 'save' 

그 URL에서 내 서버에 아약스 게시를하려고합니다.

+0

이 있어야합니다 그래서 backbone.localstorage 어디? 'this.model'은 initilize 함수에서 인스턴스를 생성하거나'new Search ({model : modelInstance}) '에서 하나를 제공하는 함수입니다 –

답변

0

모델을 인스턴스화하지 않았기 때문에 오류가 발생했습니다. 대신

model: SearchM, 

당신은

model: new SearchM(), 
+0

페이지가로드되지 않고이 오류가 발생합니다 Uncaught TypeError : Object [object global]에 'set'메서드가 없습니다 ... require.js와 백본 amd를 사용하면 도움이되지만 나중에 인스턴스화가 진행되는 중입니다. 단지 .save()가 작동하지 않을 수 있습니다. backbone.localstorage를 사용하는 동안 ajax 호출을 수행 할 수 없으므로 backbone.sync를 대체합니다. – Lion789