formdata

Django基础七之Ajax

时光毁灭记忆、已成空白 提交于 2019-12-01 02:54:23
Django基础七之Ajax 本节目录 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 Ajax文件上传 五 关于json 六 补充一个SweetAlert插件(了解) 七 同源策略与jsonp 八 cors 一 Ajax简介   1.简介     AJAX ( Asynchronous Javascript And XML )翻译成中文就是 “ 异步的 Javascript 和 XML” 。即使用 Javascript 语言与服务器进行异步交互,传输的数据为 XML (当然,传输的数据不只是 XML,现在更多使用json数据 )。     AJAX 不是新的编程语言,而是一种使用现有标准的新方法。     AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。( 这一特点给用户的感受是在不知不觉中完成请求和响应过程)     AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。       a.同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;       b.异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。   AJAX除了 异步 的特点外,还有一个就是: 浏览器页面 局部刷新 ;(

FormData

北战南征 提交于 2019-12-01 02:27:08
FormData 对象的使用: 1.用一些键值对来模拟一系列表单控件:即把form中所有表单元素的name与value组装成一个queryString。 2. 异步上传二进制文件。 FormData对象原型上的属性和方法: let formData = new FormData() formData.append('user', 'zhang') 获取 formData.get('user') //zhang 删除 formData.delete('user') ..... 使用FormData对象发送文件 HTML部分 <form action=""> <label for=""> 姓名: <input type="text" name="name"> </label> <label for=""> 文件:<input id="file" type="file" name="file"> </label> <label for=""> <input type="button" value="保存"> </label> </form> JS部分 var btn = document.querySelector('[type=button]'); btn.onclick = function () { // 文件元素 var file = document.querySelector

element form 校验数组每一项

人走茶凉 提交于 2019-12-01 01:48:35
1.校验的数据结构如下: 2.html结构 <el-dialog :title="title" :visible.sync="visable" width="40%" :before-close="cancel"> <el-form label-width="80px" :model="formData" :rules="formDataRules" ref="formData" > <el-form-item label="Id" prop="id" v-if="formData.id"> {{formData.id}} </el-form-item> // begin --------------------- <div v-for="(item, index) in formData.test" :key="index"> <el-form-item label="test1" :prop="`test[${index}].test1`" :rules="{ required: true, message: '请输入test1', trigger: 'blur' }"> <el-input type="text" v-model="item.test1"></el-input> </el-form-item> <el-form-item label="test2" :prop

Flutter 上传图片一直不成功

穿精又带淫゛_ 提交于 2019-11-30 22:03:18
公司最近开了新项目,使用flutter开发app。 其中有一个功能是把当前带有二维码的页面分享到微信中。 微信分享图片的接口需要传一个图片的url地址,页面上的二维码是动态生成的,所以需要先对页面截图再上传服务器,拿到返回的图片地址再进行分享。 整个流程一直到上传服务器的部分卡住了,上传接口一直报 “Content size exceeds specified contentLength on formdata upload”。 百度搜了这个报错信息,没有发现靠谱的回答,搭上梯子去墙外搜了一下,在dio这个包的github上发现了相同的issue,尝试了其中提到的几个方法:把dio的版本降到2.1.3,没能解决,想把版本升到3.0以上,但是项目的flutter版本不支持。 回复信息提到 var t= await formData.asBytesAsync(); // Stream size. print(formData.length==t.length); // Should be `true` If formData.length is not equal to t.length , please upload the "audio.m4a" and I'll help you to check it. 于是我也试了试我代码中的这2个值是否相等,结果就能正常上传了。

WTForms

淺唱寂寞╮ 提交于 2019-11-30 21:01:34
文章出处 https://www.cnblogs.com/wupeiqi/articles/8202357.html 简介 W TForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证。 安装: ? 1 pip3 install wtforms 用户登录注册示例 1. 用户登录 当 用户登录时候,需要对用户提交的用户名和密码进行多种格式校验。如: 用户不能为空;用户长度必须大于6; 密码不能为空;密码长度必须大于12;密码必须包含 字母、数字、特殊字符等(自定义正则); #!/usr/bin/env python # -*- coding:utf-8 -*- from flask import Flask, render_template, request, redirect from wtforms import Form from wtforms.fields import core from wtforms.fields import html5 from wtforms.fields import simple from wtforms import validators from wtforms import widgets app = Flask(__name__, template_folder='templates') app.debug

Ajax与Http协议

最后都变了- 提交于 2019-11-30 16:59:39
目录 Ajax与Http协议详解 Xhr对象 xhr对象发送请求整体感知 xhr对象的常用属性和方法 xhr对象发送post请求 xhr对象的兼容性问题 请求超时timeout与监听超时ontimeout 登录post请求实例 1.Ajax与Http协议详解 我们在jQuery中已经提到了Ajax,并且通过$.ajax()方法实现了和前后台完成的简单交互。但事实上在工作当中jQuery所提供的功能却是远远不够的,绝大部分的公司实际上并不希望他们的开发者使用现有的Ajax框架,而是选择自行封装一个功能相似但针对性却更强的内容。因此我们必须知道在js内部,Ajax到底是怎样工作的。 而在此之前,让我们先对Ajax本身做一些详细的说明。 描述:Ajax全名为Asynchronous javascript and xml。 是指围绕【由js向服务器发起http请求】这个功能而开发的一整套完整的做法。 由来:99年Microsoft公司第一次在IE5.0中引入此功能 04年Gmail发布、05年Google Map发布时此功能才被重视 05年2月Ajax正式提出 06年W3C发布其对应的国际化标准 概述:Ajax模块在处理网络请求的时候包括以下四个步骤 (1)创建Xhr对象 (2)发出HTTP请求 (3)接收服务器回传的数据 (4)更新网页数据 补充:Ajax可以发出同步请求

Django【十】Ajax

元气小坏坏 提交于 2019-11-30 15:08:31
一、Ajax基本用法 1.简介     AJAX ( Asynchronous Javascript And XML )翻译成中文就是 “ 异步的 Javascript 和 XML” 。即使用 Javascript 语言与服务器进行异步交互,传输的数据为 XML (当然,传输的数据不只是 XML,现在更多使用json数据 )。     AJAX 不是新的编程语言,而是一种使用现有标准的新方法。     AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。( 这一特点给用户的感受是在不知不觉中完成请求和响应过程)     AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。       a.同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;       b.异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。   AJAX除了 异步 的特点外,还有一个就是: 浏览器页面 局部刷新 ;( 这一特点给用户的感受是在不知不觉中完成请求和响应过程 2.示例 html页面内容: {% load static %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title<

XMLHttpRequest剖析

ε祈祈猫儿з 提交于 2019-11-30 13:44:12
1.什么是XMLHttpRequest? 首先XMLHttpRequest是一个构造函数,是位于Window对象上的一个构造函数。 所以要使用需要通过new命令创建一个实例。 const xhr = new XMLHttpRequest(); 由于位于Window对象,所以实例化的xhr对象其实就是一个浏览器内置的对象。 它提供了对http协议的完全的访问,用于JS进行http请求和http响应。 2.兼容性 几乎所有的主流浏览器都支持,IE需要通过下面的办法兼容 new ActiveXObject("Microsoft.XMLHTTP") 3.发展历史 XMLHttpRequest有两个阶段,一个是Level1,一个是Leve2 level1的缺点: 受同源策略(Same Origin Policy)影响, 不能发送跨域请求 不能发送二进制(音频,视频,图片等)文件,只能发送文本 发送和接收数据时,没有实时进度信息,只能判断是否完成 level2解决了以上缺点,并添加了新功能: 只要服务器允许,可以进行跨域访问 可以发送和获取二进制数据(音频,视频,图片等都是二进制文件) 可以获取请求发送数据的实时进度信息 新增FormData数据,可以发送表单数据(multipart/formdata) 可以设置过时时间timeout 4.只读属性 1.readyState --HTTP

vue 封装input组件

╄→尐↘猪︶ㄣ 提交于 2019-11-30 11:56:41
涉及到的知识点其实就是父子组件之间属性和方法的使用 第一步:在components目录下新建一个子组件(field.vue) <template> <div class="cell-wrapper" :class="showVerify ? 'include-verify flex-base' : ''" > <div class="cell-item flex-base" :style="{backgroundColor: cellBgColor}" > <div class="left" :class="label !== undefined && label !== '' ? 'flex-label' : ''" > <label>{{ label }}</label> <i class="van-icon" :class="`van-icon-${leftIcon}`"></i> </div> <div class="right flex-base"> <input v-if="type === undefined" ref="input" type="text" v-on:value="value" :placeholder="placeHolder" :style="{backgroundColor: cellBgColor === undefined ?

Django与AJAX

拈花ヽ惹草 提交于 2019-11-30 10:49:36
AJAX简介 AJAX中文就是“异步的Javascript和XML”。即使用JavaScript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据本仅仅时XML) AJAX不是新的编程语言,而是一种现有的标准新方法 AJAX不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行   同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;   异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求 下面举个AJAX应用小示例: 页面输入两个整数,通过AJAX传输到后端计算并返回结果局部刷新。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script> <link href="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.bootcss.com/twitter-bootstrap