Ajax提交表单

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link href="/static/common.css" rel="stylesheet">
<style>
.hide { display: none;
} .shadow {
position:fixed;
left:0;
top: 0;
bottom: 0;
right: 0;
background-color: black;
opacity: 0.6;
z-index: 1;
} .add-app {
position: fixed;
height: 400px;
width: 400px;
margin-left:100px ;
border: 1px solid indianred;
top: 100px;
left: 25%;
background-color: white;
z-index: 2;
} </style> </head>
<body> <h1>应用列表:</h1>
<P><input type="button" value="添加" id="i1"/></P> <table border=""> <thead> <tr>
<td>应用名称</td>
<td>应用主机列表</td>
</tr>
</thead> <tbody>
{% for row in app_list%} <tr>
<td>{{ row.name }}</td>
<td>
{% for host in row.r.all %}
<span class="host_tag">{{ host.hostname }}</span>
{% endfor %}
</td>
</tr> {%endfor%} </tbody> </table> <div class="shadow hide"></div>
<form id="add_form"> <div class="add-app hide"> <input type="text" placeholder="应用名称" name="app_name"/> <div class="group">
<select id="host_list" name="host_list" multiple> {% for row in host_list %}
<option value="{{row.nid}}">{{row.hostname}}</option> {% endfor %} </select> </div>
<input type="submit" value="提交">
<input id="ajax_submit" type="button" value="ajax提交"> <input id='i2' type="button" value="取消">
<span id="error_msg" style="display: inline-block;color: red"></span> </div>
</form> <script src="/static/jquery-3.2.1.min.js"></script>
<script> $(function () { $('#i1').click(function () { $('.shadow,.add-app').removeClass('hide'); }) $('#i2').click(function () { $('.shadow,.add-app').addClass('hide'); }) $("#ajax_submit").click(function () { $.ajax({ url:'/xiaoqing/ajax_submit/', #//提交url
data:$("#add_form").serialize(), # //input,select数据打包发向后台
type:'POST', # //提交请求类型
dataType:'Json', #//发送数据类型
traditional:true, #//如果是多选的话,必须加上此选项
success:function (obj) { #//发送成功后回调函数 console.log(obj);
location.reload(); #刷新
location。href('http://') #跳转
},
error:function () { } }) }) }) </script> </body>
</html>

ajax.html

def app(request):
if request.method=="GET": app_list=models.Application.objects.all()
host_list=models.Host.objects.all() for row in app_list:
print(row.name,'-|-',row.r.all()) return render(request,'app.html',{'app_list':app_list,'host_list':host_list,}) elif request.method == "POST":
appname = request.POST.get('app_name')
hostlist = request.POST.getlist('host_list')
print(appname,hostlist)
obj = models.Application.objects.create(name=appname)
obj.r.add(*hostlist)
return redirect('/xiaoqing/app')

views函数

ajax提交表单向后台发送数据的更多相关文章

  1. ajax提交表单序列化(serialize())数据

    知识点: $("#form").serialize();将表单数据序列化为标准URL编码文本字符串(key1=value1&key2=value2…). 以下用一个例子来演 ...

  2. ajax提交表单、ajax实现文件上传

    ajax提交表单.ajax实现文件上传,有需要的朋友可以参考下. 方式一:利用from表单的targer属性 + 隐藏的iframe 达到类似效果, 支持提交含有文件和普通数据的复杂表单 方式二:使用 ...

  3. Jquery ajax提交表单几种方法

    在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$('#表单ID').serialize();就行了,下面我来介绍两个提交表单数据的方法. ...

  4. jquery ajax提交表单数据的两种方式

    http://www.kwstu.com/ArticleView/kwstu_201331316441313 貌似AJAX越来越火了,作为一个WEB程序开发者要是不会这个感觉就要落伍,甚至有可能在求职 ...

  5. Jquery ajax提交表单几种方法详解

    [导读] 在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$( 表单ID) serialize();就行了,下面我来介绍两个提交表单数据的 ...

  6. 关于ajax提交表单的一些实例及遇到的问题和解决办法

    ajax提交的表单有两种情况: 第一种:input type类型没有file上传文件类型的表单 第二种:input type类型有file上传文件类型的表单 之所以分为两种:是因为原生ajax是不能提 ...

  7. Validator验证Ajax提交表单的方法

    Validator验证Ajax提交表单的方法 转自:http://hunanpengdake.iteye.com/blog/1671360 当我们在一些稍微复杂的业务时,可能会遇到需要多个表单form ...

  8. lavarel框架中如何使用ajax提交表单

    开门见山,因为laravel以post形式提交数据时候需要加{{csrf_field()}}防止跨站攻击,所以当你用ajax提交表单时候自然也要加 在网上看了很多的解决方式,我是用下面这种方法解决的: ...

  9. Ajax提交表单初接触

    <!doctype html> <html class="no-js"> <head> <meta charset="utf-8 ...

随机推荐

  1. WebForm服务器验证控件与前端js自定义验证共同使用

        问题: 前端aspx页面中需要在button中添加OnClientClick事件后,这个OnClientClick所执行的自定义的客户端js验证:这个时候,所有的服务器验证控件都会失效!   ...

  2. JS-NaN的数据类型

    NaN 的数据类型:not a number .是数字类型但是不是数字 例: var x = Number('abcd'); //结果是NaN alert( typeof (x) ); //结果是nu ...

  3. nginx的前世今生

    Nginx最初的设计是称为一个http服务器,一个能够解决C10K问题的http服务器. 那么问题来了,什么是C10K呢?C10K问题即(单机10万个并发链接问题),这个概念最早是由Dan Kegel ...

  4. 多功能版vue日历控件

    下载地址:https://pan.baidu.com/s/1nvpx0tB5cIvvqHuApz_MpQ 之前写了一个简单的vue日历控件:https://www.cnblogs.com/mrzhu/ ...

  5. 【杂】暴力出奇迹,lz水数据

    做了个填涂颜色的题qwq 洛谷上的qwq,然后我就把这道题水过去了qwq(显然这是不对的,我们不能水数据qwq)当然我本身是80分的qwq end-

  6. h5微信页面在手机微信端和微信web开发者工具中都能正常显示,但是在pc端微信浏览器上打不开(显示空白)

    h5微信页面在手机微信和微信开发者工具中都能正常显示,但是在pc端微信浏览器上打不开或者数据加载不出来. 原因:pc端微信浏览器不支持ES6语法,我的代码中使用了一些ES6的特性 解决:将ES6转换为 ...

  7. nginx 出现504 Gateway Time-out的解决方法

    本文介绍nginx出现504 Gateway Time-out问题的原因,分析问题并提供解决方法. 1.问题分析nginx访问出现504 Gateway Time-out,一般是由于程序执行时间过长导 ...

  8. 语音识别ASR - HTK(HResults)计算字错率WER、句错率SER

    HResults计算字错率(WER).句错率(SER) 前言 好久没发文,看到仍有这么多关注的小伙伴,觉得不发篇文对不住.确实好久没有输出经验总结相关的文档,抽了个时间,整理了下笔记,发一篇关于ASR ...

  9. css--样式表的引入方法

    html引用css方法如下1.直接在div中使用css样式(内链)2.html中使用style自带式(嵌入)3.使用@import引用外部CSS文件(外部引入)4.使用 link引用外部CSS文件 推 ...

  10. JAVA语言之怎样写出高性能的Java代码?

    本文主要向大家介绍了JAVA语言之怎样写出高性能的 Java 代码?通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 在这篇文章中,我们将讨论几个有助于提升Java应用程序性能的方法.我 ...