ajax提交form表单

Django文件上传下载与富文本编辑框

*爱你&永不变心* 提交于 2019-12-03 22:56:18
django文件上传下载 上传 配置settings.py # 设定文件的访问路径,如:访问http://127.0.0.1:8000/media/就可以获取文件 MEDIA_URL = '/media/' # 设置文件的存储路径,全部存储在media目录下,会和model类中的upload_to属性值拼接 MEDIA_ROOT = os.path.join(BASE_DIR,'media') models.py class Img(models.Model): name = models.CharField(max_length=32) # upload_to拼接在MEDIA_ROOT后面,../media/img/article/,内容均存在该目录下 img = models.ImageField(upload_to='img/article/',verbose_name='图片') upload.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--enctype属性值修改成"multipart/form-data"--> <form action="" method="post" enctype=

前端大文件上传

早过忘川 提交于 2019-12-03 22:42:22
最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表格数据、上传影音文件等。如果文件体积比较大,或者网络条件不好时,上传的时间会比较长(要传输更多的报文,丢包重传的概率也更大),用户不能刷新页面,只能耐心等待请求完成。 下面从文件上传方式入手,整理大文件上传的思路,并给出了相关实例代码,由于PHP内置了比较方便的文件拆分和拼接方法,因此服务端代码使用PHP进行示例编写。 本文相关示例代码位于github上,主要参考 聊聊大文件上传 大文件切割上传 文件上传的几种方式 首先我们来看看文件上传的几种方式。 普通表单上传 使用PHP来展示常规的表单上传是一个不错的选择。首先构建文件上传的表单,并指定表单的提交内容类型为enctype="multipart/form-data",表明表单需要上传二进制数据。 然后编写index.php上传文件接收代码,使用move_uploaded_file方法即可(php大法好…) form 表单上传大文件时,很容易遇见服务器超时的问题。通过xhr,前端也可以进行异步上传文件的操作,一般由两个思路。 文件编码上传 第一个思路是将文件进行编码,然后在服务端进行解码,之前写过一篇在前端实现图片压缩上传的博客

JS笔记

安稳与你 提交于 2019-12-03 20:38:38
JS 1,js 索引数组定义 var dataArr= new Array(); dataArr["storeId"]=”15313 storeId”; dataArr["imgUrl"]=”123imgUrl”; [ storeId : "15313 storeId" , imgUrl : "123imgUrl" ] imgUrl : " 123imgUrl " storeId : " 15313 storeId " length : 0 2, 删除最后一个字符 citys = citys.substr( 0 ,citys.length- 1 ); 3, 跳转 window.location.href = "{:url('mobile/Login/logout')}"; window.location.reload(); 2, form 表单外的提交 citys = citys.substr( 0 ,citys.length- 1 ); <form class="clear" action="javascript:void(0);" id="baojia_form_message"> <label class="fl"><i class="iconfont icontouxiang"></i><input type="text" name="linkman" value=""

Http请求中的Content-Type

前提是你 提交于 2019-12-03 10:57:46
一 前言 ----现在搞前端的不学好http有关的知识已经不行啦~笔者也是后知后觉,在搞node的时候意识到网络方面的薄弱,开始学起http相关知识。这一篇是非常基础的讲解,适合入门人员掌握content-type的知识和有经验的人员查阅。可以说,弄懂了content-type,你才能在学习http的道路上走的更加顺畅,让我们满怀激情的开始吧~~ 二 正文 1.认识content-type 要学习content-type,必须事先知道它到底是什么,是干什么用的。 HTTP协议(RFC2616)采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以 及可能的实体内容。 通常HTTP消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。 HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。 请求消息和响应消息都可以包含实体信息,实体信息一般由实体头域和实体组成。实体头域包含关于实体的原信息

【完全跨域】异步上传文件并获得返回值

◇◆丶佛笑我妖孽 提交于 2019-12-03 02:52:57
【完全跨域】异步上传文件并获得返回值 作者:php-note.com 发布于:2015-03-01 10:58 分类:JS/jQuery 浏览(595) AJAX可以进行数据的异步请求,但对于文件和跨域问题却束手无策。 Jsonp可以进行跨域数据的异步请求,但同样不能使用于文件。 <form>表单可以进行跨域数据和文件的上传,但却会使页面跳转。 那么如何同时实现“异步”+“跨域”+“文件”+“返回值”这几个特性呢?方法如下: 原理: 将<form>表单通过一个iframe来submit,也就是将<form>的target属性设置为一个iframe的id,这样<form>的action URL就会在这个iframe中打开,那么服务器的返回数据也就会输出到iframe中了。最后再通过主页面与iframe之间的交互完成对返回数据的读取(这涉及到跨域问题,文章后面将介绍此问题的解决方法)。 基本结构: 前端部分(当前域名:www.test.com,与form中的action域名相同) 1 <form action="http://www.test.com/io.php" method="POST" enctype="multipart/form-data" target="upload"> 2 3 <input type="file" name="upload_file" /> 4 5

微擎之ajax提交form表单

拟墨画扇 提交于 2019-12-03 02:11:43
-HTML <form action= "" method= "post" > <input type= "hidden" name = "c" value= "entry" /> <input type= "hidden" value= "signup" name = "do" > <input type= "hidden" value= "sign" name = "op" > <input type= "hidden" value= "lb_vote" name = "m" > <input type= "hidden" name = "id" value= "{$id}" /> < div class = "form-group" > <label for = "exampleInputEmail1" >姓名</label> <input type= "uname" class = "form-control" id = "uname" name = "uname" placeholder= "姓名" > </ div > < div class = "form-group" > <label for = "exampleInputPassword1" >手机号</label> <input type= "number" class = "form-control" id

ajax获得表单值的俩种方法

匿名 (未验证) 提交于 2019-12-03 00:34:01
FormData FormData对象,可以把所有表单元素的name与value组成一个queryString,提交到后台。 在使用ajax提交时,使用FormData对象可以减少拼接queryString的工作量。同时FromData可以接收到二进制文件(可以用来做异步上传文件), serialize 只能序列化简单的数据。 new FormData的参数是一个DOM对象,而非jQuery对象 我们通过[index]的方法,来得到相应的DOM对象。 var formData = new FormData($( "#fileinfo" )[ 0 ]); form表单添加 enctype="multipart/form-data" < form enctype = "multipart/form-data" method = "post" id = "fileinfo" > < label > 图片: </ label > < input type = "file" name = "file" /> < input type = "submit" value = "提交" /> </ form > ajax 中必须加入下面这俩个配置 processData : false, contentType : false, var formData = new FormData($( "

Ajax的text/plain、application/x-www-form-urlencoded和application/json

匿名 (未验证) 提交于 2019-12-03 00:33:02
HTTP请求中,如果是get请求,那么表单参数以name=value&name1=value1的形式附到url的后面,如果是post请求,那么表单参数是在请求体中,也是以name=value&name1=value1的形式在请求体中。通过chrome的开发者工具可以看到如下(这里是可读的形式,不是真正的HTTP请求协议的请求格式): get请求: RequestURL:http://127.0.0.1:8080/test/test.do?name=mikan &address =street Request Method:GET Status Code:200 OK Request Headers Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip,deflate,sdch Accept-Language:zh-CN,zh;q=0.8,en;q=0.6 AlexaToolbar-ALX_NS_PH:AlexaToolbar/alxg-3.2 Connection:keep-alive Cookie:JSESSIONID=74AC93F9F572980B6FC10474CD8EDD8D Host:127.0.0.1:8080

Post Content-Type

匿名 (未验证) 提交于 2019-12-02 23:48:02
Content-Type 是指http/https发送信息至服务器时的内容编码类型,contentType用于表明发送数据流的类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据。 在网络请求中,常用的Content-Type有如下: application/x-www-form-urlencoded, multipart/form-data, application/json, application/xml 等。 其中:text/html, text/plain, text/css, text/javascript, image/jpeg, image/png, image/gif, 都是常见的页面资源类型。 application/x-www-form-urlencoded, multipart/form-data, application/json, application/xml 这四个是ajax的请求,表单提交或上传文件的常用的资源类型。 "application/x-www-form-unlencoded". enctype常用的属性值如下:application/x-www-form-unlencoded: 在发送前编码所有字符(默认情况下); multipart/form-data, 不对字符编码。在使用文件上传时候,使用该值。 一

Http post 常用的四种请求方式

匿名 (未验证) 提交于 2019-12-02 23:43:01
2019独角兽企业重金招聘Python工程师标准>>> http1.1协议 规定http 的请求方式有OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT几种方式。其中POST是一种最常用的向服务器提交数据的方法,本文主要讨论POST提交数据的四种方式。 application/x-www-form-urlencoded 这应该是最常见的 POST 提交数据的方式了。浏览器的原生 <form> 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。请求类似于下面这样(无关的请求头在本文中都省略掉了): POST http://www.example.com HTTP/1.1 Content-Type: application/x-www-form-urlencoded;charset=utf-8 title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3 首先,Content-Type 被指定为 application/x-www-form-urlencoded;其次,提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。大部分服务端语言都对这种方式有很好的支持