Tastypie与Backbone交互
上回玩到Tastypie与jQuery交互,那么现在接着玩玩Tastypie与Backbone.js交互
先把上篇的template文件:D:\project\tastypie\mysite\blog\templates\blog\index.html改改,添加了backbone的相关依赖文件,代码如下[增、删、改、查]:
一、GET id为1的blog文章出来:
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title></title> </head> <body> <script type="text/javascript" src="/static/js/underscore-min.js"></script> <script type="text/javascript" src="/static/js/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="/static/js/json2.js"></script> <script type="text/javascript" src="/static/js/backbone-min.js"></script> <script> $(function () { var blogModel = Backbone.Model.extend({ urlRoot: '/api/v1/entry/', defaults: { user: '/api/v1/user/2/', pub_date: '2015-01-29T11:07:30', title: '', body: '', slug: '' } }); var blog = new blogModel({ id: 1 }); blog.fetch({ success: function(blog){ console.log(blog.toJSON()); } }); }); </script> </body> </html>
打开Chrome按个F12调出log来看看结果查询内容成功,返回了一个条json记录。
二、POST一条blog
<script> $(function () { var blogModel = Backbone.Model.extend({ urlRoot: '/api/v1/entry/', defaults: { user: '/api/v1/user/2/', pub_date: '2015-01-29T11:07:30', title: '', body: '', slug: '' } }); var blogDetails = { user: '/api/v1/user/2/', pub_date: '2015-01-29T11:07:30', title: 'blackbone test4', body: 'blackbone test4', slug: 'another-post4' }; blog.save(blogDetails, { success: function (blog) { console.log(blog.toJSON()); }, error: function(e){ alert("error!") } }) }); </script>
打开Chrome按个F12调出log来看看结果Post内容成功,返回了一个条json记录。
三、通过PUT方式update一条id为1的blog
<script> $(function () { var blogModel = Backbone.Model.extend({ urlRoot: '/api/v1/entry/', defaults: { user: '/api/v1/user/2/', pub_date: '2015-01-29T11:07:30', title: '', body: '', slug: '' } }); var blog = new blogModel({ id: 1 }); blog.save({user:'/api/v1/user/2/',pub_date: '2015-01-29T11:07:30',title:'Haha!',body: 'blackbone test4',slug: 'another-post4'},{ success: function(blog){ console.log(blog.toJSON()); } }); }); </script>
打开Chrome按个F12调出log来看看结果更新内容成功,返回了一个条json记录。
四、通过DELETE方式删除一条id为1的blog
<script> $(function () { var blogModel = Backbone.Model.extend({ urlRoot: '/api/v1/entry/', defaults: { user: '/api/v1/user/2/', pub_date: '2015-01-29T11:07:30', title: '', body: '', slug: '' } }); var blog = new blogModel({ id: 1 }); blog.destroy({ success: function () { console.log('Destroy!'); } }); }); </script>
浏览器打开http://localhost:8000/api/v1/entry/1/记录无内容,已删除成功
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?