ajax异步请求——form表单提交 及 表单序列化提交
ajax异步请求
AJAX介绍
AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML),它不是一种新的编程语言,而是一种使用现有标准的新方法。
AJAX 基于 JavaScript 和 HTTP 请求(HTTP requests)的,因为AJAX 通过在后台与服务器交换少量数据的方式,允许网页进行异步更新。即在不重载整个页面的情况下,对网页的一部分进行更新,通过 AJAX,你可以创建更好、更快以及更友好的 WEB 应用程序。
当然,Ajax也不是任何资源都可以调用,虽然它可以调用动态页面、静态页面,也可以调用json对象,但是由于浏览器无法解析二进制文件,故调用图片等时就会报错。在调用json对象时,须使用eval("(" + 返回的对象 + “)”); ,否则无法解析对象的资源。
$.ajax()使用
项目中,对于使用 $.ajax 获取后台数据是很简单的,根据后台给的接口文档,直接调用就好了。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Ajax 请求</title><script src="./jquery.min.js"></script>
</head>
<style>.result{width:200px;height: 200px;border:1px #0f0 solid;margin-bottom: 20px;}
</style>
<body><button type="button">使用 ajax请求 获取数据</button><div class="result"></div><script>$(function(){$('button').on('click',function(){//使用 Ajax 请求方式;$.ajax({type:'POST', //请求类型url:'/getList', //请求路径dataType:'json', //数据类型data:{ //提交的参数id:1},success:function(data){ //请求成功后的回调$('.result').html(data);},error:function(XMLHttpRequest, textStatus, errorThrown){ //请求失败后的回调console.log(textStatus);}})});});</script>
</body>
</html>
$.ajax() 常用参数
type 类型:String , 默认值: “GET”。
请求方式 (“POST” 或 “GET”), 默认为 “GET”。
注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。url 类型:String
默认值: 当前页地址。发送请求的地址。async 类型:Boolean , 默认值: true。
默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。
注意:同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。beforeSend(XHR) 类型:Function
发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。
XMLHttpRequest 对象是唯一的参数。
这是一个 Ajax 事件。如果返回 false 可以取消本次 ajax 请求。cache 类型:Boolean 默认值: true
dataType 为 script 和 jsonp 时默认为 false。设置为 false 将不缓存此页面。
jQuery 1.2 新功能。data 类型:String
发送到服务器的数据。将自动转换为请求字符串格式。
GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。
如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:[“bar1”, “bar2”]} 转换为 ‘&foo=bar1&foo=bar2’。dataType 类型:String
预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被识别为 XML。
在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:- “xml”: 返回 XML 文档,可用 jQuery 处理。
- “html”: 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
- “script”: 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 “cache” 参数。
注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载) - “json”: 返回 JSON 数据 。
- “jsonp”: JSONP 格式。使用 JSONP 形式调用函数时,如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
- “text”: 返回纯文本字符串
success 类型:Function 这是一个 Ajax 事件。
请求成功后的回调函数。
参数:由服务器返回,并根据 dataType 参数进行处理后的数据;描述状态的字符串。error 类型:Function 这是一个 Ajax 事件。
默认值: 自动判断 (xml 或 html)。请求失败时调用此函数。
有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。
如果发生了错误,错误信息(第二个参数)除了得到 null 之外,还可能是 “timeout”, “error”, “notmodified” 和 “parsererror”。
$.ajax 使用form表单提交 —— 使用FormData对象
// 在使用 new formData() 时,在html 的表单标签中加入 enctype="multipart/form-data" 属性。var formData = new FormData();formData.append('uploadPic', $("#upfile")[0].files[0]);
$.ajax({url:"/submitInfor",type:"post",data:formData ,processData:false, //设置为false 是data值是FormData对象,不需要对数据做处理。contentType:false, //设置为false 是表单构造了FormData对象,且已声明了属性enctype="multipart/form-data"success:function(data){console.log(data);},error:function(err){alert(err);}
});
上面代码中使用 formData 对象提交数据,方便提交 文件 类型的数据。
参考文档 : https://www.cnblogs.com/zhuxiaojie/p/4783939.html
$.ajax 使用form表单提交 —— 使用 表单序列化
$.ajax({url:"/submitInfor",type:"post",data: $('form').serialize(), //使用表单序列化提交数据success:function(data){console.log(data);},error:function(err){alert(err);}
});
注意:表单里面的值只能为字符串,要提交的input标签中需要有 name 属性。
当前ajax的功能,还有许多,此处不再叙述,有兴趣可以查看下面文档:
http://www.w3school.com.cn/jquery/ajax_ajax.asp
如有什么疑问,可以在下方评论留言,一起学习!!!
在痛苦中学会成长,在学习中寻找快乐!!!
ajax异步请求——form表单提交 及 表单序列化提交相关推荐
- form 表单提交时用ajax异步请求导致ajax请求结果无法接收问题
1.背景描述,有个公司内部用的小系统,不想大动干戈用太多前端框架,就用HTML5写了个登陆页面,刚开始想着用form表单提交登陆账户信息.后来因为前后端分离,并且统一用ajax调用后台服务交互数据,因 ...
- maven工程 java 实现文件上传 SSM ajax异步请求上传
java ssm框架实现文件上传 实现:单文件上传.多文件上传(单选和多选),并且用 ajax 异步刷新,在当前界面显示上传的文件 首先springmvc的配置文件要配置上传文件解析器: 1 < ...
- python django异步访问_初试Ajax异步请求(基于Django框架)
概要: Ajax异步请求数据之前就听朋友提起过,但是之前一直没有什么机会使用这个技术,就没有去了解,后面在做网站评论这一功能时,为了使用户评论之后不用刷新网页就能够看到刚刚评论的数据,所以决定使用Aj ...
- php原生的异步请求,原生JavaScript实现Ajax异步请求
ajax现在是一种非常流行的技术,现在虽然可以利用JQuery或者一些第三方插件甚至微软提供的一些控件可以方面的实现ajax功能,但是明白其原理也是非常重要的,下面是来使用纯javascript实现获 ...
- JSP同步请求和html+ajax异步请求的两种方式
war包:包括所有的项目资源,只要从浏览器发起的都是属于请求,然后把资源响应给浏览器,解析显示出来. 方式一:HTML+ajax(跳转静态html也是属于请求响应,把整个页面响应给浏览器.) html ...
- javaWeb基础六:JQuery—Ajax异步请求
JQuery 之 Ajax 异步请求 1.1 Ajax简介 1.1.1 不使用Ajax存在的问题 在发送请求得到响应时,我们常常只需要刷新网页局部的数据,而不是整个网页的资源(在网页资源过大时,效率会 ...
- AJAX 异步请求详细教程
文章目录 AJAX 异步请求 简介 Jquery 版 Ajax $.ajax() -- Jquery提供的 ajax 函数 注册验证用户名是否可用 $.get() 与 $.post() Ajax 返回 ...
- ajax异步请求刷新layui表格
ajax异步请求刷新Layui表格数据 今天遇到一个小问题,向后端传一个bean插入到数据库后,在前端页面同步显示.刚开始直接用from表单把数据传给后台进行插入操作,但是这样前端不能及时接收到后端完 ...
- Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数【含代码】)- 案例篇
文章目录 Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数[含代码])- 案例篇 效果截图: 重要代码: 附:全部HTML代码: Ajax异步请求(重渲染DOM元素时,如何自动调 ...
最新文章
- c++ 类的定义与使用
- SCRIPT1028:缺少标识符、字符串或数字 jquery ajax
- 面试被问烂的 Spring IOC(求求你别再问了)
- css3-1 css3游戏介绍、css3样式和优先级
- Python 进阶_生成器 生成器表达式
- 高效地加载图片(一) 高效地加载大图
- Pixhawk代码分析-姿态解算篇C
- /etc/shadow文件
- 在Windows10上安装WSL使用binwalk命令
- linux切换目录使用命令,linux命令切换目录的使用方法
- win7焦点总是不停丢失的解决方法
- centos6.0安装中文输入法
- SQL Management Studio Express 安装缺少MSXML6解决
- [面试] C/C++ 语法 —— 内存与操作系统
- matlab比较判断简写,MATLAB一词来自( )的缩写。
- MinIO 快速入门
- 完美数——C++代码及思路分析 leetcode507
- Python图片文字识别
- 【效率工具】markdown文档自动同步到印象笔记evernote
- HTML——Header:请求头参数详解
热门文章
- 2021年广西贵港高考成绩查询6,2021年贵港高考状元是谁分数多少分,历年贵港高考状元名单...
- latex画流程图例子详解,如何画转折线,运行不出来?
- 修改虚拟机下的网络和ip设置
- 利用“秋天的第一杯奶茶”热点,日引流加粉50+,复盘如何背靠支付宝借花献佛
- 【win11更新到22H2,突然开始菜单打不开】
- 清风数学建模代码笔记3(更新课_2
- 第二十八章 Caché 命令大全 TSTART 命令
- 预测未来八小时降水情况的神经网络天气模型
- BOM、body的位置属性
- linux系统日志的查看和采集