Form表单------AJAX------Fetch

1.在Ajax之前

最开始,浏览器发起请求的过程如下:

用户输入网址/a标签/img标签等 --> 服务器返回html/css/js --> 用户接收后重新加载页面。

上面的请求发起方式,要么会导致页面刷新(form表单提交也是如此),要么只能请求特定类型的文件(图片,css,或JS)。

2.AJAX的到来

AJAX的实质就是用JS发起一个请求,并得到服务器返回的内容。

而JS发起请求的关键,是通过浏览器提供的XMLHttpRequest接口。请求过程如下:

//创建一个XMLHttpRequest对象
var request = new XMLHttpRequest()

//监听成功请求后的状态变化, request.responseText 就是服务器返回的内容了(默认是字符串)
request.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    console.log(request.responseText)
  }
};

// 设置请求参数
request.open("GET", "filename", true);

//发送请求
request.send();

上述过程,通过jQuery的封装后:

$.get(‘filename‘).then(function(response){
  // 这里的 response 就是返回的内容
})

3.Fetch API

既然浏览器都提供了XMLHttpRequest这个API,为什么不直接提供封装好的接口呢?

Fetch API就是浏览器提供的原生AJAX接口。可以使用window.fetch函数代替以前的$.ajax。

也就是说,浏览器帮我们把jQuery.ajax给实现了,以后可以直接用fetch来发送异步请求。

fetch(‘/‘).then(function(response){
    response.text().then(function(text){
        console.log(text)
    })
})

不过Fetch API,基于ES6.

时间: 2024-08-27 13:28:37

Form表单------AJAX------Fetch的相关文章

Form表单Ajax系列化提交数据

页面上有一个商品的颜色尺码二维输入框,输入完毕之后需要把数据进行提交,点击立即购买则进行页面的跳转,通过form表单将数据提交到后台,而点击添加到购物车的话,则会通过ajax进行数据的提交,页面不进行跳转.前台样式: 下面是form表单: <form id="cartForm" action="${ctx}/cart/save" method="post"> <div class="product-page-optio

细说 Form (表单)- Ajax的方式

简单的表单,简单的处理方式 好了,让我们进入今天的主题,看看下面这个简单的HTML表单. <form action="Handler1.ashx" method="post" > <p>客户名称: <input type="text" name="CustomerName" style="width: 300px" /></p> <p>客户电话:

批量审批功能的前端form表单ajax提交多文件多数据

实现的功能: 勾选需要批量修改的信息,点击批量审批按钮,弹出一个用boostrap框架做的模态框,显示出勾选内容的信息,并且填写了内容,上传了多文件之后,通过ajax发送数据. 第一步:先获取选中项该行中需要的数据 //选中项的信息取出来 $('.checkone:checked').each(function () { flow_id += $(this).val() + ','; var name = $(this).parents('tr').find('.name').text().tr

form表单submit提交内容,跟ajax异步提交form表单的区别,

因为开发一个小细节,本来是上传文件,填写文件名进行ajax提交,但是没有获取到文件的绝对地址, 所以使用了form表单提交文件,然后又觉得form表单+ajax提交联系起来比较好,不用改动太多代码. 区别: Form表单提交:一般都会进行页面跳转: Ajax异步提交:可以不进行页面跳转: Form表单提交 <body> <div id="forms”> <form id="form1" action="/users/login"

ExtJs如何判断form表单是否被修改过详解

1.Extjs表单提交主要有三种方式: 1, EXT的form表单ajax提交(默认提交方式)      相对单独的ajax提交来说优点在于能省略写参数数组 ,form.getForm().submit 3.EXT的ajax提交,Ext.Ajax.request 2.EXT表单的非ajax提交 在我看来:采用第1,2种都很方便,关键是Ext.Ajax.request传递给后台是一个字符串形式的,需要Jason解析 2.记录代码问题: 1 SaveStudentDetails:function(b

ajax传递数组、form表单提交对象数组

在JSP页面开发中,我们常常会用到form表单做数据提交,由于以前一直只是使用form表单提交单个对象,只要表单文本域的name值和接收的对象的属性名一致,那么传值就没有什么问题.不过,在前几天的开发任务中,遇到了需要批量传递对象,也就是需要传递对象数组,在此做个总结.今天又遇到需要向后台传递数组,便一并写下来吧. 1.ajax传递普通数组 前台代码 var deleteNum= [];//定义要传递的数组 deleteNum.push("1"); deleteNum.push(&qu

ajax form表单提交 input file中的文件

ajax form表单提交 input file中的文件 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为了解决这个问题我走了不少弯路: 1.用原生的 input file , 不支持ajax上传文件,你肯定会说可以用 ajax form表单上传了呀?不过我后面还要调用上传成功后用js处理一些对话框,所以这种方法排除 2.用了 uploadify 上传插件,弄出来能上传东西,结果不理想:因为不能判断上传的

form表单提交转为ajax方式提交

在做项目的过程中遇到要将form表单提交转为ajax方式提交,下面是我总结的如何把form表单提交无缝转为ajax方式提交的方法. 原先的form表单长这样: <form action="xxx" method="get"> //action的值是请求的url地址 <div class="form-group"> <label for="name">姓名</label> <

jquery序列化form表单使用ajax提交后处理返回的json数据

这篇文章主要介绍了jquery序列化form表单,使用ajax提交后处理返回的json数据的示例,需要的朋友可以参考下 1.返回json字符串: ** 将一个字符串输出到浏览器 */    protected void writeJson(String json) {        PrintWriter pw = null;        try {            servletResponse.setContentType("text/plain;charset=UTF-8"

form 表单序列化参数,ajax提交

①form表单的参数序列化后,然后提交. $.ajax({ type: 'post', url:$form1.attr("action"), data:$form1.serializeArray(),//序列化参数 dataType:"json", success: function(json){ if("200" == json.statusCode){ }else{ alertMsg.warn(json.message); } } }); ②