2013-07-17 35 views
0

我是新來的主幹,我在模型和視圖實現方面相當成功。現在我正在研究構建一個RESTful後端來試驗這個主幹的這個方面。所以,我創建了這個簡單的客戶端來測試請求和響應。不過,我不斷收到此錯誤:
A「URL」屬性或功能必須指定主幹模型URL屬性已設置,但仍然出現錯誤,指定mut0

在我看來,一個客戶端的問題,但也許它是在服務器端。任何人都可以解釋爲什麼我可能會得到這個錯誤,如果這個設置是錯誤的,爲什麼?

var m_Blog = Backbone.Model.extend({ 
    defaults: { 
     url:'/lib', 
     title: null, 
     date: null, 
     content: null, 
     keywords: null, 
    } 
}); 

var a = new m_Blog({title:'t', date:'d', content:'c', keywords:'w'}); 

a.save({ 
     success: function(model, response) { 
      alert('Success' + response.getResponseHeader()); 
     }, 
     fail: function(model, response) { 
      alert('Fail' + response.getResponseHeader()); 
     } 
}); 

我也試過,因爲一個簡單的將通話,我真的不知道但如果上述作品:

a.save(); 

回答

1

相信該屬性實際上是所謂的「urlRoot」。你有沒有嘗試改變你的默認值?

defaults: { 
    urlRoot:'/lib', 
    title: null, 
    date: null, 
    content: null, 
    keywords: null, 
} 

url是獲取urlRoot(即model.url())的模型上的函數名稱。

如果這不起作用,你也可以嘗試以這種方式設置urlRoot,儘管我很確定它的做法與上面相同:-)。

var m_Blog = Backbone.Model.extend({ 
    defaults: { 
     title: null, 
     date: null, 
     content: null, 
     keywords: null, 
    }, 

    urlRoot: '/lib' 
}); 
+0

我確實嘗試了url和urlRoot,但它不起作用。但是,我確實通過移動默認值之外的URL來超過這個錯誤,所以謝謝。我仍然想知道爲什麼默認網址不起作用。我甚至試圖在構造函數中傳遞url,但這並不奏效,這可能是我甚至沒有想到將它從默認值移出的原因。 – jDesign

+0

當我思考時,這是有道理的。設置默認屬性只是使用一些默認值設置model.attributes對象。 urlRoot在模型(model.url)上是一個完全獨立的屬性,而不是它的屬性。很高興我能幫上忙! – CSilivestru

相關問題