一、ajax提交纯表单(不包含文件或二进制或非ASCII数据)
ajax提交表单绕了很久,遇到一些问题进行测试下以加深理解,测试使用浏览器 49.0.2623.110 m,HTML使用HTML4标准。下文提到的ajax为原生javascript的ajax(脚本化HTTP),都是个人理解,如有错误还望被指正。关于AJAX,XMLHttpRequest,FormData等应该还有许多待深入的问题,还需要进一步学习,本文仅目前实践内容。
二、ajax上传文件
1、 上传单个文件
/* ajaxupload.jsp */
<%@ page contentType="text/html; charset = utf-8" %>
<!DOCTYPE html>
<html>
<head>
<title>Asynchronous Javascript and XML</title>
</head>
<body>
请选择要上传的文件:<input id="uploadItem"name="uploadItem" type="file">
<script>
var test= function x(){
var elem= document.getElementById("uploadItem");
elem.addEventListener("change",function() {
var item= document.getElementById("uploadItem").files[0];
var formData = new FormData();
formData.append("uploadItem",item);
var xhr = new XMLHttpRequest();
xhr.open("post","../upload");
//xhr.setRequestHeader("Content-Type","multipart/form-data");
xhr.send(formData)