ajax提交form表单

4GB以上超大文件上传和断点续传服务器的源码

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

图片上传(方法一:jquery.upload.js)

社会主义新天地 提交于 2020-03-30 06:53:03
一、在JSP页面引入jquery.upload.js 文件: <script type="text/javascript" src="${ctx}/script/jquery.upload.js"></script> 二、JSP页面代码: <!-- 弹窗 开始 --> <div class="dialog_teachermanage" id="addDialog" style="width:923px; display:none" > <div class="dialog_title" data-operateType="add"></div> <form id="formId" method="post" enctype="multipart/form-data"> <div class="dialog_body"> <div class="left"> <!-- 上传头像 ajax提交 class="hide" --> <div class="head_photo"> <input type="button" id="head_pic_btn" value="点击上传头像" /> <img src="${ctx}/static/images/common/head_default.jpg" data-img="head_default.jpg" width="180px"

jQuery序列化表单 serialize() serializeArray()

与世无争的帅哥 提交于 2020-03-18 18:44:17
1、serialize()方法 描述:序列化表单内容为字符串,用于Ajax请求。 格式:var data = $(form).serialize(); 2.serializeArray()方法 描述:序列化表单元素(类似'.serialize()'方法)返回JSON数据结构数据。 注意,此方法返回的是JSON对象而非JSON字符串。需要使用插件或者 第三方库 进行字符串化操作。 格式:var jsonData = $(form).serializeArray(); 在使用ajax提交表单数据时,以上两种方法都可以将data参数设置为$(form).serialize()或$(form).serializeArray()。 Demo 姓名: 性别: 男 女 年龄: $(function() { $(#ajaxBtn).click(function() { var params1 = $(#myform).serialize(); var params2 = $(#myform).serializeArray(); console.log(params1); //name=zhangsan&sex=1&age=20 console.log(params2); //[Object, Object, Object] $.ajax( { type : POST, url :

Ajax 与文件上传

泄露秘密 提交于 2020-03-11 16:09:17
一 Ajax篇 1 ajax简介( Asynchronous Javascript And XML )   异步,Js,XML,即使用Javascript语言与服务器进行异步交互,传输的数据为xml( 可扩展标记语言 ), 2 两个特点   2.1 异步交互   客服端发出一个请求,无需等待这个请求的响应,就可以发送第二个请求.   2.2 局部更新   不会造成网页的覆盖,仅仅是通过jquery的dom操作,使得页面局部发生数据变化. 3 执行流程 4 基于Jquery 的ajax实现(加法计算器) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script> </head> <body> <input type="text" class="num1">+<input type="text" class="num2">=<input type="text" class="result"><input type="button" class="cul" value="计算"> {% csrf_token %} <script> $('

html5自带表单验证-美化改造

…衆ロ難τιáo~ 提交于 2020-03-09 00:41:28
神奇的代码 暂且叫做html5.css /* === HTML5 validation styles === */ .myform select:required, .myform input:required, .myform textarea:required { background: #fff url(../img/red_asterisk.png) no-repeat 99% center; } .myform select:required:valid, .myform input:required:valid, .myform textarea:required:valid { background: #fff url(../img/valid.png) no-repeat 99% center; box-shadow: 0 0 5px #5cd053; border-color: #28921f; } .myform select:focus:invalid, .myform input:focus:invalid, .myform textarea:focus:invalid { background: #fff url(../img/invalid.png) no-repeat 99% center; box-shadow: 0 0 5px #d45252;

10,Django于ajax

♀尐吖头ヾ 提交于 2020-03-05 17:05:11
Ajax Ajax简介 AJAX ( Asynchronous Javascript And XML )翻译成中文就是 “ 异步 Javascript 和 XML” 。即使用 Javascript 语言与服务器进行异步交互,传输的数据为 XML (当然,传输的数据不只是 XML,现在更多使用json数据 )。 同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求; 异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。 AJAX除了 异步 的特点外,还有一个就是: 浏览器页面 局部刷新 ;( 这一特点给用户的感受是在不知不觉中完成请求和响应过程) 场景: 优点: AJAX 使用 Javascript 技术向服务器发送异步请求 AJAX 无须刷新整个页面 基于jquery的Ajax实现 <button class="send_Ajax">send_Ajax</button> <script> $(".send_Ajax").click(function(){ $.ajax({ url:"/handle_Ajax/", type:"POST", data:{username:"Yuan",password:123}, success:function(data){ console.log(data) },        error:

js post 方式 新开窗口

徘徊边缘 提交于 2020-03-02 05:22:16
js中一般新打开窗口很简单直接window.open(url);就可以了, 但是由于我希望传递参数到服务端,而且参数看起来很长一串,而且get方式的提交参数长度是有限制的,因此我有以下需求: 1,js中实现post提交 2,返回的页面在新窗口显示 首先我是这么做的: $.ajax({ type: "POST" , url: '${contextPath}/analyse/detail.do' , data: {carNum :carNum,ids:refIds}, success: function (str_response) { var obj = window.open("about:blank" ); obj.document.write(str_response); } }); 通过jQuery ajax提交,返回的数据写在新的页面中,但是由于浏览器的会拦截自动弹出的窗口,这样还需用户自己解除拦截,用户体验很差, 然后我又通过模拟form表单的提交来实现 function post(URL, PARAMS) { var temp_form = document.createElement("form" ); temp_form .action = URL; temp_form .target = "_blank" ; temp_form .method = "post"

Django基础七之Ajax

为君一笑 提交于 2020-03-01 10:41:29
一 Ajax简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。     AJAX 不是新的编程语言,而是一种使用现有标准的新方法。     AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。(这一特点给用户的感受是在不知不觉中完成请求和响应过程) AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。       a.同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;       b.异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。   优点:AJAX除了 异步 的特点外,还有一个就是:浏览器页面 局部刷新 ;(这一特点给用户的感受是在不知不觉中完成请求和响应过程 示例   页面输入两个整数,通过AJAX传输到后端计算出结果并返回。     html文件名称为ajax_demo1.html,内容如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http

form data 和request payload 和Query String Parameters

て烟熏妆下的殇ゞ 提交于 2020-03-01 01:12:17
enctype 属性 在下面的例子中,表单数据会在未编码的情况下进行发送: <form action="form_action.asp" enctype="text/plain"> <p>First name: <input type="text" name="fname" /></p> <p>Last name: <input type="text" name="lname" /></p> <input type="submit" value="Submit" /> </form> ##定义和用法 enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。 默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。 ##enctype值和意义: application/x-www-form-urlencoded 在发送前编码所有字符(默认) multipart/form-data 不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。 text/plain 空格转换为 "+" 加号,但不对特殊字符编码。 HTTP请求中,如果是get请求,那么表单参数以name=value&name1

文件上传的几个 - 示例

偶尔善良 提交于 2020-02-27 03:39:13
本篇将要和朋友们分享的是几个上传文件的例子和逻辑步奏及自定义个简单的js上传插件我取名为 shenniu.upfile-0.0.1.js ;近来在讨论组中很有几个朋友咨询上传文件的代码和怎么下载上传的文件,所以写了此篇文章,希望能为朋友们解答一些疑惑或能带来帮助,也谢谢各位多多支持点赞。 以上是个人的看法,下面来正式分享今天的文章吧: . 使用iis发布保存上传文件的文件夹 . 示例A - 普通表单上传文件,Request.Files获取上传文件 . 示例B - 普通表单上传文件,HttpPostedFileBase获取上传文件 . 示例C - ajax+FormData上传文件,Request.Files获取上传文件 . 示例D - 自定义上传插件,Request.Files获取上传文件并提交表单内容 下面一步一个脚印的来分享: . 使用iis发布保存上传文件的文件夹 首先,因为我们上传文件后,需要查看或者下载这个文件,通常分为两种形式;一种把上传的文件上传到程序的根目录中的某个文件夹中,这种就可以直接通过站点的虚拟路径来访问,这种其实也是使用了iis发布的;第二种是通过程序上传到服务器的某个磁盘中,这种路径通常就不在上传程序站点的目录下,因为想让用户通过其他的url地址访问下载文件,iis发布只是其中一种;其实用iss发布保存上传文件的文件夹和发布程序一样差不多;