2012-02-22 83 views
1

在我的backbone.js中,當我調用model.save()時,url獲取當前URL路徑作爲前綴。Backbone.js:模型保存請求的當前url路徑的前綴爲

假設我的模式是:

RegisterModel = Backbone.Model.extend({ 
    defaults: { 
     id: '' 
    }, 
    url: 'register/confirm' 
}); 

我的路由器的定義如下:

AppRouter = Backbone.Router.extend({ 
    routes: { 
     'signup/confirm/:key': 'confirm' 
    }, 

    confirm: function(key) { 
     var mod1 = new RegisterModel({key:key}); 
     mod1.save(); 
    } 
}); 

現在,如果我理解Ajax請求應該被髮送到

register/confirm

相反它被髮送到...

signup/confirm/register/confirm

什麼可能導致這種情況?這可能是因爲我用來啓動Backbone.History的pushstate:true ???

Backbone.history.start({pushState:true}); 

我需要這個,因爲我不想使用散列URL。

回答

0

您可以使用與網站根目錄相關的網址嗎?在這種情況下,您可以嘗試:

RegisterModel = Backbone.Model.extend({ 
    defaults: { 
     id: '' 
    }, 
    url: '/register/confirm' 
});