当前位置: 首页 > news >正文

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/记录无内容,已删除成功

转载于:https://www.cnblogs.com/fastmover/p/4266515.html

相关文章:

  • BFS 、DFS 解决迷宫入门问题
  • STM32之独立看门狗与窗口看门狗总结
  • zoj3713 7Bit
  • USACO Healthy Holsteins DFS
  • 易经读书笔记16 雷地豫
  • 【MM系列】MB1A MB1B MB1C MB11 MIGO的区别解析
  • tf.nn.conv2d 卷积
  • IE6、IE7兼容querySelectorAll和querySelector方法-最终版本
  • 【Linux】Shell批量修改文件名
  • MySQL 查询当天、本周,本月、上一个月的数据
  • NHibernate3.2+Asp.net MVC3+Extjs 4.0.2项目实践(五):Extjs树形导航菜单
  • 利用指针间隔的输出字符串中的字符
  • Java中Httpsession是如何实现的?
  • 《SpringMVC从入门到放肆》十二、SpringMVC自定义类型转换器
  • 洛谷 P1616 疯狂的采药
  • 「面试题」如何实现一个圣杯布局?
  • 30秒的PHP代码片段(1)数组 - Array
  • Angular Elements 及其运作原理
  • Java多线程(4):使用线程池执行定时任务
  • Lsb图片隐写
  • React 快速上手 - 07 前端路由 react-router
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Vue学习第二天
  • zookeeper系列(七)实战分布式命名服务
  • 机器学习中为什么要做归一化normalization
  • 开源SQL-on-Hadoop系统一览
  • 免费小说阅读小程序
  • 前端之React实战:创建跨平台的项目架构
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 移动端高清、多屏适配方案
  • #include<初见C语言之指针(5)>
  • #Linux(权限管理)
  • #stm32驱动外设模块总结w5500模块
  • #vue3 实现前端下载excel文件模板功能
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (4)Elastix图像配准:3D图像
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • .Net MVC + EF搭建学生管理系统
  • .NET 解决重复提交问题
  • .NET命令行(CLI)常用命令
  • .net与java建立WebService再互相调用
  • .NET中的Exception处理(C#)
  • /etc/skel 目录作用
  • @Controller和@RestController的区别?
  • [ACL2022] Text Smoothing: 一种在文本分类任务上的数据增强方法
  • [CERC2017]Cumulative Code
  • [Django 0-1] Core.Checks 模块
  • [DL]深度学习_Feature Pyramid Network
  • [EFI]英特尔 冥王峡谷 NUC8i7HVK 电脑 Hackintosh 黑苹果efi引导文件
  • [error] 17755#0: *58522 readv() failed (104: Connection reset by peer) while reading upstream
  • [HNCTF 2022 WEEK2]easy_include 文件包含遇上nginx
  • [ios-必看] IOS调试技巧:当程序崩溃的时候怎么办 iphone IOS
  • [ITIL学习笔记]之事件管理(2)
  • [jQuery]10 Things I Learned from the jQuery Source