开发笔记-----Ajax 基础使用
一、GET 方式的用法:
1 <!--html -->
2 <div class="layui-form">
3 <div class="layui-form-item">
4 <div class="layui-inline">
5 <label class="layui-form-label">IDC:</label>
6 <div class="layui-input-inline">
7 <select id="idc_addr">
8 <option value="">选择地址</option>
9 <option value="FT">丰台</option>
10 <option value="SH">沙河</option>
11 </select>
12 </div>
13 </div>
14
15 <div class="layui-inline">
16 <label class="layui-form-label">数量</label>
17 <div class="layui-input-inline">
18 <input type="text" class="layui-input" id="num" placeholder="访问最低数量或排名">
19 </div>
20 </div>
21 <div class="layui-inline" style="">
22 <button type="submit" id="btn" onclick="mycheck()" class="layui-btn">提交</button>
23 </div>
24 </div>
25 </div>
26
27 //js 配置
28 <script src="/static/monitor/js/echarts.min.js"></script>
29 <script src="/static/monitor/js/sweetalert.min.js"></script>
30 <script type="text/javascript">
31 function mycheck(){
32 chart.showLoading();
33 getdata();
34 }
35 function getdata(){
36 var idc_addr=$('#idc_addr option:selected').val();
37 var num=document.getElementById("num").value;
38 if(idc_addr!="" && num!=""){
39 $.ajax({
40 type: "GET",
41 data:{"num":num ,"idc_addr":idc_addr,},
42 url: "http://192.168.3.83:/sankey/",
43 dataType: 'json',
44 success: function (result) {
45 chart.setOption(result.data);
46 chart.hideLoading();
47 }
48 });
49 }else{
50 swal("warning","请输入查询条件!!!!","warning");
51 chart.hideLoading();
52 }
53 }
54 </script>
55
56 #后台配置 django+python
57 def sankey_base(request): #展示方式:xq(详情),top(top_N)
58 num = request.GET.get('num',100) #获取和 赋默认值
59 idc_addr = request.GET.get('idc_addr','FT') #获取IDC名称
60 print(num,idc_addr)
61 return render(request,'monitor/home.html')
二、POST方式的用法:
<!-- html -->
<form style="display: inline" onsubmit="return false" action="##" method="post">
{% csrf_token %}
<div>
<label for="user_id">用户名:</label>
<input type="text" name="username" maxlength="35" onblur="checkInput()" oninput="changeBtnable()" autofocus required id="user_id" placeholder="请输入用户名前缀"> @testmail.com
</div><br/><br/>
<button type="submit" id="btn" disabled onclick="add_user()" class="btn btn-primary">
<i class="fa fa-plus" aria-hidden="true"></i> 添加用户
</button>
</form> //Javascript
<script type="text/javascript">
//添加用户
function add_user(){
var url = window.location.href;
var file_obj = new FormData;
file_obj.append('username',$("#user_id").val());
file_obj.append('csrfmiddlewaretoken',$('[name=csrfmiddlewaretoken]').val()); //获取token
$.ajax({
type:"POST",
dataType:"json",
url:"/add_user/",
processData: false,
contentType: false,
data:file_obj,
success:function(data){
swal({
title: "result",
text: data['message'],
icon:data['type'],
type:"success"}).then(function(){
location.reload(); //点击确定时,重新加载页面
}
);
}
});
}
</script> ####views.py
def add_user(request):
msg = ''
if request.is_ajax():
pwd = pwd_create()
username = str(request.POST['username'])
user_mail = username+mail_dc
create_user = "echo `/opt/zimbra/bin/zmprov ca %s '%s' ` "%(user_mail,pwd)
out,err = conn_server(create_user)
if len(out[0])==37 and '-'in out[0]:
msg = '用户创建成功!'+'\n'+'用户名: %s'%user_mail + '\n'+'密码:%s'%pwd
return JsonResponse({'status': 200,'type':'success' ,'message':msg})
else:
if 'ACCOUNT_EXISTS' in err[0]:
msg = '用户名: %s 已存在,请重新输入。'%user_mail
return JsonResponse({'status': 200,'type':'error', 'message':msg})
else:
return redirect('manager:home') ####urls.py
urlpatterns = [
path('',views.home,name='home'),
path('add_user/',views.add_user,name='add_user'),
]
开发笔记-----Ajax 基础使用的更多相关文章
- iOS开发笔记系列-基础1(数据类型与表达式)
学习iOS开发快两年了,去年完成MagViewer之后就因为公司的其他业务繁重,除了维护这个应用之外,只是断断续续地自己做一些实验开发,没有再发布新的应用,这里想整理一下学习过程中的笔记,以便加深印象 ...
- iOS开发笔记系列-基础2(类)
面向对象编程总是离不开类和对象的,Objective-C也不例外,不过Objective-C中的类还有一些自己的独特点. 类的声明和定义 在iOS开发中,类的声明与定义通常都是分开的,类得声明通常存放 ...
- IOS科研IOS开发笔记学习基础知识
这篇文章是我的IOS学习笔记,他们是知识的基础,在这里,根据记录的查询后的条款. 1,UIScrollView能完毕滚动的功能. 示比例如以下: UIScrollView *tableScrollVi ...
- iOS开发笔记系列-基础6(预处理程序)
预处理程序提供了一些工具,使用这些工具更易于开发.阅读.修改程序,也易于将程序移植到不同的系统中.又称为宏. #define #define语句的基本用途之一就是给富豪名称指定程序常量.比如: #de ...
- iOS开发笔记系列-基础3(多态、动态类型和动态绑定)
多态:相同的名称,不同的类 使不同的类共享相同方法名称的能力成为多态.它让你可以开发一组类,这组类中的每一个类都能响应相同的方法名.每个类的定义都封装了响应特定方法所需要的代码,这使得它独立于其他的类 ...
- iOS开发笔记系列-基础7(C语言特性)
Objective-C是C语言的扩展,因此,也具备很多C语言的基本特性,这里只罗列部分. 块(Blocks) 块是对C语言的一种扩展,它并未作为标准ANSI C所定义的部分,而是Apple添加到语言中 ...
- iOS开发笔记系列-基础5(分类和协议)
分类 在Objective-C中,除了通过新建子类的方式来向类添加新方法外,还可以通过分类的方式.分类提供了一种简单的方式,将类的定义模块化到相关方法的组或分类中,它还提供了扩展现有类定义的简便方式, ...
- iOS开发笔记系列-基础4(变量与数据类型)
对象的初始化 对象的初始化方法一般都如下: -(id)init { self=[super init]; if(self){ ... } return self; } 这个方法首先会调用父类的初始化方 ...
- 《ArcGIS Runtime SDK for Android开发笔记》
开发笔记之基础教程 ArcGIS Runtime SDK for Android 各版本下载地址 <ArcGIS Runtime SDK for Android开发笔记>——(1).And ...
随机推荐
- 【OI】Tex Quotes——UVa 272
题目: TEX is a typesetting language developed by Donald Knuth. It takes source text together with a fe ...
- VBox 虚拟机安装 Openwrt 做旁路由
VBox 虚拟机安装 Openwrt 做旁路由 需求:开个虚拟机做旁路由,电脑把网关设置成旁路由地址,用它跑个上网或其他什么东西. 安装及配置过程简述 这件事流程很简单,总结起来主要有以下几点: 安装 ...
- 【PHP数据结构】在学数据结构和算法的时候我们究竟学的是啥?
一说到数据结构与算法,大家都会避之不及.这本来是一门专业基础课,但是大部分人都并没有学好,更不用说我这种半路出家的码农了.说实话,还是很羡慕科班出身的程序员,因为你们在日常工作或者面试中,只需要复习一 ...
- 解决IE浏览器 点击子元素重复调用执行 mouseover 与mouseout兼容性问题
将函数配对换为下面2个就可以解决兼容性问题. mouseenter() mouseleave(0
- Groovy系列(1)- Groovy简述
Groovy简述 前言 由于性能测试的JSR223 Sampler取样器需要用到 Groovy 语言,这两天对其进行了粗略的学习,本文是对学习做的一个简单总结,主要内容参考于官方文档(Groovy 的 ...
- JavaScript进阶面向对象ES6
类和对象 对象:万物皆对象,对象是一个具体的事物,看得见摸得着的实物 对象是由属性和方法组成的: 属性:事物的特征,再对象中用属性来表示(常用名词) 方法:事物的行为,再对象中用方法来表示(常用动词) ...
- struts2 使用ajax进行图片上传
第一步:引入一个插件 jquery.form.js /*! * jQuery Form Plugin * version: 3.36.0-2013.06.16 * @requires jQuer ...
- 【数据结构与算法】二叉树的 Morris 遍历(前序、中序、后序)
前置说明 不了解二叉树非递归遍历的可以看我之前的文章[数据结构与算法]二叉树模板及例题 Morris 遍历 概述 Morris 遍历是一种遍历二叉树的方式,并且时间复杂度O(N),额外空间复杂度O(1 ...
- Java泛型中的细节
Java泛型中的细节 如果没有泛型 学习Java,必不可少的一个过程就是需要掌握泛型.泛型起源于JDK1.5,为什么我们要使用泛型呢?泛型可以使编译器知道一个对象的限定类型是什么,这样编译器就可以在一 ...
- C++学习 3 结构体
结构体基本概念: 结构体属于用户自定义的数据类型,允许用户存储不同的数据类型: 结构体定义和使用: 语法:struct 结构体名 { 结构体成员列表 }: 通过结构体创建变量名的方式有三种: ...