开发笔记-----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 ...
随机推荐
- CentOS8部署tftp
tftp:简单文本传输协议,而ftp:文本传输协议.可以把tftp看成是ftp的精简版.tftp用于免登录传输小文件,tftp服务端监听在udp协议的69端口tftp简单的工作原理: tftp服务端与 ...
- js 之k个一组翻转链表
题目描述 将给出的链表中的节点每\ k k 个一组翻转,返回翻转后的链表如果链表中的节点数不是\ k k 的倍数,将最后剩下的节点保持原样你不能更改节点中的值,只能更改节点本身.要求空间复杂度 \ O ...
- vue项目实现文件下载进度条
平时业务中下载文件方式常见的有俩种: 第一种,直接访问服务器的文件地址,自动下载文件: 第二种 ,服务器返回blob文件流,再对文件流进行处理和下载. 一般小文件适用于第一种下载方案,不占用过多服务器 ...
- 我爬取交通学博士付费的GIS资源,每年被动收入2w很简单?
目录 1.背景介绍 2.技术路线 3.数据结果 4.数据分析 5.总结 6.后记 1.背景介绍 某周末闲来无事,顺手打开了CSDN,看到了一个人发布的收费GIS资源,售价是¥19.9,POI数据也有人 ...
- NetCore5实现https请求
前言 本文主要介绍在NetCore5中,实现证书加载和https访问请求. 证书准备 首先我们先创建一个自定义的证书Kiba518.pfx. 证书创建参考:最通俗易懂的RSA加密解密指导. 然后将证书 ...
- 鸿蒙内核源码分析(进程概念篇) | 进程在管理哪些资源 | 百篇博客分析OpenHarmony源码 | v24.01
百篇博客系列篇.本篇为: v24.xx 鸿蒙内核源码分析(进程概念篇) | 进程在管理哪些资源 | 51.c.h .o 进程管理相关篇为: v02.xx 鸿蒙内核源码分析(进程管理篇) | 谁在管理内 ...
- AT3611-Tree MST【点分治,最小生成树】
正题 题目链接:https://www.luogu.com.cn/problem/AT3611 题目大意 给出\(n\)个点的一棵树. 现在有一张完全图,两个点之间的边权为\(w_x+w_y+dis( ...
- efcore分表分库原理解析
ShardingCore ShardingCore 易用.简单.高性能.普适性,是一款扩展针对efcore生态下的分表分库的扩展解决方案,支持efcore2+的所有版本,支持efcore2+的所有数据 ...
- FastAPI(64)- Settings and Environment Variables 配置项和环境变量
背景 在许多情况下,应用程序可能需要一些外部设置或配置,例如密钥.数据库凭据.电子邮件服务凭据等. 大多数这些设置都是可变的(可以更改),例如数据库 URL,很多可能是敏感数据,比如密码 出于这个原因 ...
- Python小知识之对象的比较
好久不见 国庆回了趟老家,躺平了10天.作息时间基本和小学生差不多,8.9点就睡了, 那滋味别提多舒服了.时间也和小时候过得一样慢了...长时间不更新,还是不行滴,粉都快掉没了. 今天就结合日常生活的 ...