Backbone 的 Model 里面也有一个 fetch() 方法,可以从服务端那里提取出指定的模型。 先去配置一下服务端 ..
在 NoteController 这个控制器里,找到 show 这个方法 ... 在这个方法里,我们需要根据请求的 id 号,返回对应的数据模型 ...
可以使用 Note 这个模型的 find 方法 .. 然后把请求的 id 号传递给这个方法 ... 再返回得到的数据 ...
public function show($id)
{
return Note::find($id);
}
保存 ... 再用 Postman 工具测试一下 ... 请求个笔记的内容 ... 地址应该是 api/notes 后面加上笔记的 id 号 ... 方法同样是 GET .... 点击 Send ... 返回的,就是在数据库里面 id 号是 1 的笔记内容 ... 数据的格式使用的是 JSON ..
Backbone
再回到 Backbone 的 app.js ... 单独去请求一个模型,需要指定一下 urlRoot 属性 ... 设置一下模型的根目录 ...
urlRoot: '/api/notes'
这样的话,id 号是 1 的笔记的地址,就应该是 /api/notes/1 ...
保存 ...
回到浏览器 ..
预览
假设现在我们要从数据库里提取出 id 号是 1 的笔记 ...
先去新建一个 Note 模型 ... 然后指定一个这个模型的 id 号 ...
var note = new Note({id: 1})
回车 ...
再去调用这个 note 模型的 fetch 方法 ...
note.fetch()
再查看一下这个模型的现在的属性 ...
note.attributes
这里显示的是,就是从服务端那里面得到的这个 id 号是 1 的笔记内容 ...
可以再打开 Network 选项卡 .. 打开这个名字是 1 的请求 . Header ...
这个 Ajax 请求,Request URL ,请求的地址是 /api/notes/1 ... 请求的方法是 GET
再看一下 Preview ...
响应回来的就是 JSON 类型的数据,数据的内容就是 id 号1 的笔记内容 ...