zoukankan      html  css  js  c++  java
  • ajax的运用

    • 锁:共享锁、排他锁

      • lock in share mode 共享锁开启方式 (都要先开启事物,begin)
      • for update 排他锁开启 (先 begin)
      • 表锁举例:lock table app01_publish write
        • unlock tables;
      • create、update、delete、操作时,MySQL自动加行级互斥锁
      锁
      1.原生中
      select * from t1 where id=1 for update;(写这句前得先开启事物,begin)
      2.orm中
      models.T1.objects.select_for_update().filter(id=1)
      
      
    • 事物四大特性:原子性、永久性、隔离性、一致性。

      原生SQL中开启事物的两种方式:
      1.start transaction;
      2.beigin;
      提交事物
      commit;
      回滚
      roll_back
      
      orm中开启事物的三种方式
      1.
      DATABASES = {
      	'ENGINE':'django.db.backends.mysql',
      	'NAME':'day58',
      	'HOST':'127.0.0.1',
      	'PORT':3306,
      	'USER':'root',
      	'PASSWORd':'root',
      
      	'ATOMIC_REQUESTS':TRUE,  # 全局开启事物,绑定的是http请求响应整个过程
      	
      }
      2.
      from django.db import transaction
      
      @transaction.atomic
      def viewfunc(request):
      	do_stuff()
      
      取消事物
      @transaction.non_atomic_requests
      def my_view(request):
      	do_stuff()
      
      3.上下文
      from django.db import transaction
      
      def viewfunc(request):
      	do_stuff()
      	with transaction.atomic():
      		do_more_stuff()
      	do_other_stuff()
      	
      	
      
    • Ajax(jQuery中的):两个特性

      • 异步请求
      • 局部刷新
      $('#button').click(function(){
      	$.ajax({
      		url:'/login/', # 请求路径
      		type:'post',  # 请求方式
          data:{       # 请求携带数据
            	uname:$('#username'.val()),
              pwd:$('#password'.val()),
            	csrfmiddlewaretoken:$('[name=csrfmiddlewaretoken]')
        			#csrfmiddlewaretoken:"{{csrf_token}}"
            },
              success:function(res){
                  console.log(res)
              },
              error:function(jqXHR,textStatus,err){
               		console.log(arguments) 
              }
      	})
      })
      
      爬虫中的请求:
      ret = requests.post('/login/',data={}) print(ret.content)
      
    • 外部文件导入的方式来写js代码,那么JS代码汇总不能用Django的模板语法,因为HTML文件的加载顺序:URL—视图----HTML模板渲染——return给浏览器—浏览器渲染——script的SRC—才去请求js文件----那么JS文件代码此时才去加载到你的HTML里面。

  • 相关阅读:
    Vue自定义组件
    Vuex状态管理总结
    关于状态管理模式
    Vue路由实现页面跳转的两种方式(router-link和JS)
    Vue过渡效果的实现
    Vue中的DOM操作
    SASS 和 LESS 的区别
    Vue计算属性和侦听器
    zabbix 内置变量
    /proc 目录下文件详解
  • 原文地址:https://www.cnblogs.com/he-qing-qing/p/11264800.html
Copyright © 2011-2022 走看看