1 form 表单 get/post提交时候。 action地址(或者啥ajax的url地址) 会涉及到跨域问题

    常见跨域问题http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html

  举例:

第一种写法 相对路径
 $.get('localhost:8080/test_upload/aservlet', {

            }, function (data) {

            });

  test_upload 为项目名

  这里写的为相对路径,不会出现问题

  

第二种写法 绝对路径 
$.get('http://localhost:0880/test_upload/aservlet', { }, function (data) { });

localhost:是域名

127.0.0.1 啥对应的ip

这里会容易出问题:

1 注意 协议一定要写 (http://)

2 当 html或者jsp文件 与项目都在eclipise里(运行在同一个服务器下)http://localhost 或者 http://127.0.0.1/ 或者 http://192.168.100.xx 都可以

但是当不在一个服务器下, aservlet在eclipise的tomcat运行, html在webstorm的服务器运行,则地址经测试只有写成http://127.0.0.1/可以,其余的都会跨域

2 异步上传图片的常见两种方法  

1 html5之前  用iframe(

这种技术有两个关键的地方:

    1.form会指定target,提交的结果定向返回到隐藏的ifram中。(即form的target与iframe的name属性一致)。

    2.提交完成后,iframe中页面与主页面通信,通知上传结果及服务端文件信息

2 html5  新方法用ajax(使用XMLHttpRequest2来进行真正的异步上传。

使用过AJAX的人都知道,XHR对象提供了一个onreadystatechange的回调方法来监听整个请求/响应过程。在XMLHttpRequest2级规范中又多了几个进度事件。有以下6个事件:

    1.loadstart: 在接收到响应数据的第一个字节时触发。

    2.progress: 在接收响应期间持续不断地触发。

    3.error: 在请求发生错误时触发。

    4.abort: 在因为调用abort()方法而终止连接时触发。

    5.load: 在接收到完整的响应数据时触发。

    6.loadend: 在通信完成或者触发error,abort,load事件后触发

参考 http://www.jb51.net/article/80512.htm

3  html5异步上传图片的常见两种方式以及上传要点 

  方式1)依然是input 的type 等于file 方式

  方式2)拖拽

    要点

      1 拖放可使用DataTransfer传递数据,该对象是非常有用的,因为在拖动目标元素时,可能会经过其它元素,我们可以用此传递信息;

      API:

      dragstart 被拖放元素 开始拖放时

      drag 被拖放元素 拖放过程中

      dragenter 拖放过程中鼠标经过的元素 被拖放元素开始进入本元素时

      dragover  拖放过程中鼠标经过的元素 本元素内移动

      drageleave  拖放过程中鼠标经过的元素 离开本元素

      drop 拖放的目标元素 拖动的元素放到了本元素中

      dragend 拖放的对象 拖放结束

  上传要点:

    FIleReader接口

    filereader接口,可将文件读入内存,有了这个东东我们就可以很舒服的做图片预览了,但他的公用不止如此。

    filereader的四个方法:

    readAsBinaryString 将文件读取为二进制码——通常我们将数据传给后端;

    readAsText 将文件读取为文本——读取文本内容;

    readAsURL 将文件读取为DataURL——一般是小文件,图片或者html;

    abort 中断读取,因为文件过大等待时间就很长了

    filereader接口事件:

    onabort 读取中断触发;

    onerror 读取失败触发;

    onloadstart 开始读取时触发;

    onprogress 读取中

    onload 读取成功时触发;

    onloadend 读取完成后触发,无论成功失败;

参考

http://www.cnblogs.com/yexiaochai/archive/2013/04/16/3025240.html

html5图片异步上传/ 表单提交相关的更多相关文章

  1. jquery运用FormData结合Ajax异步上传表单,超实用

    首先创建一个formData,其中参数,就是你的form表单,jquery要加0,也可以用document.querySelector("form")得到 var formData ...

  2. layui 图片上传+表单提交+ Spring MVC

    Layui 的上传是最常用的, 不可或缺, 记录一下代码, 以后复制都能用!! 1.前端HTML: <div class="layui-form-item"> < ...

  3. 原生js封装ajax:传json,str,excel文件上传表单提交

    由于项目中需要在提交ajax前设置header信息,jquery的ajax实现不了,我们自己封装几个常用的ajax方法. jQuery的ajax普通封装 var ajaxFn = function(u ...

  4. 【Flask】 结合wtforms的文件上传表单

    表单中的文件上传 基本的表单渲染,表单类设置等等就不多说了,参看另一个文章即可.但是那篇文章里没有提到对于FileField,也就是上传文件的表单字段是如何处理,后端又是如何实现接受上传过来的文件的. ...

  5. ajax上传表单的俩种方式

    1.用h5对象上传表单(图片) var formData = new FormData(); formData.append("authenticity_token", '1212 ...

  6. 上传漏洞科普[1]-文件上传表单是Web安全主要威胁

    为了让最终用户将文件上传到您的网站,就像是给危及您的服务器的恶意用户打开了另一扇门.即便如此,在今天的现代互联网的Web应用程序,它是一种 常见的要求,因为它有助于提高您的业务效率.在Facebook ...

  7. bootstrap上传表单的时候上传的数据默认是0 一定要小心

    bootstrap上传表单的时候上传的数据默认是0 一定要小心

  8. 使用ajax上传表单(带文件)

    在使用form表单的时候上传文件+表单,会使得页面跳转,而在某些时候不希望跳转,只变化页面中的局部信息 通过查找资料,可以使用FormData进行ajax操作. FormData介绍:XMLHttpR ...

  9. HTML5 文件异步上传 — h5uploader.js

    原文地址:http://imziv.com/blog/article/read.htm?id=62 之前写过一篇H5异步文件上传的文章, 但是很多朋友看着我的这个教程还是出现很多问题,文章写的不是很好 ...

随机推荐

  1. vagrant vbox上配置好开发环境缓存问题

    vagrant配置完成 设置好共享目录 搭建好nginx环境 访问 127.0.0.1:8080 一切正常  然后进入本的的开发目录修改测试文件保存后刷新页面 问题来了..........没变化  然 ...

  2. SortedMap基本特性

    特性: 继承与Map. 提供对key(自然排序顺序或者SortedMap创建时提供的Comparator)的全排序. key必须实现Comparable接口,以便于进行相互比较. 应用于对map的遍历 ...

  3. mvc页面跳转

    用例列举: RedirectToAction: return RedirectToAction("PublicPreview", controllerName, new { id ...

  4. PostgreSQL-PL/pgSQL

    参考: https://wiki.postgresql.org/wiki/9.1%E7%AC%AC%E4%B8%89%E5%8D%81%E4%B9%9D%E7%AB%A0 摘记: PL/pgSQL是 ...

  5. linux shell取文本最后一行

    目前我知道的方法有四种 1.awk 'END {print}'   2.sed -n '$p'   3.sed '$!N;$!D'   4.awk '{b=a"\n"$0;a=$0 ...

  6. 网络抓包工具-Wireshark学习资料

    wireshark一个非常牛逼的网络抓包工具.转载一系列博文 一站式学习Wireshark(一):Wireshark基本用法 一站式学习Wireshark(二):应用Wireshark观察基本网络协议 ...

  7. 通过PHP自带的$_SERVER判断 手机访问网站自动跳转到手机版

    需要有PC版网站和移动版网站,当手机访问域名的时候,通过PHP自带的$_SERVER判断浏览设备并跳转到移动版页面.如果是PC电脑打开网址,则不跳转直接访问pc版. <?php //php判断客 ...

  8. spark streaming kafka example

    // scalastyle:off println package org.apache.spark.examples.streaming import kafka.serializer.String ...

  9. Linux Core Dump

    当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”).我们可以认为 core dump 是“内存快 ...

  10. 【Python网络编程】利用Python进行TCP、UDP套接字编程

    之前实现了Java版本的TCP和UDP套接字编程的例子,于是决定结合Python的学习做一个Python版本的套接字编程实验. 流程如下: 1.一台客户机从其标准输入(键盘)读入一行字符,并通过其套接 ...