我正在做一些練習來熟悉Backbone。我正在嘗試使用Model
的urlRoot
屬性從我的服務器獲取JSON文件。Backbone:從服務器獲取JSON文件,使用擴展名「.json」或不使用它,使用url或urlRoot
我得到錯誤(404)是說,它無法找到該文件,當我鍵入urlRoot: "./js/json/todo"
但如果我鍵入它這樣urlRoot: "./js/json/todo.json"
然後找到它,但console.log(todoItem.get('description'))
說undefined
。
現在,在我見過的許多Backbone應用程序中,大多數時候擴展.json
未被應用,即,這可以使用urlRool: "/todos"
而不是urlRoot: "/todos.json"
。但是當我沒有擴展名的時候,我會遇到錯誤。
- 有人可以向我解釋如何正確使用
url
和urlRoot
屬性? - 此外,不使用
.json
或使用它的問題是什麼? - 最後,我的JSON文件格式如下,適合Backbone?
骨幹:
(function(window, $, Backbone) {
var TodoItem = Backbone.Model.extend({ urlRoot: './js/json/todos' });
var todoItem = new TodoItem({id: 1});
todoItem.fetch();
console.log(todoItem.get('description')); // This is undefined in the console
}(window, jQuery, Backbone));
JSON:
{
"todos": [
{
"description": "Pick Up Milk",
"status": "incomplete"
},
{
"description": "Do shopping at Market",
"status": "incomplete"
}]
}
您看到的示例可能不是使用靜態文件,而是一個返回json結果的Web服務。沒有你看到的例子,這只是一個猜測。 – Justin