ajax初体验

什么是ajax

一种创建交互式网页应用的网页开发技术。

一种用于异步显示数据的相关技术(在不重新加载网页的情况下发送和检索数据。

一种利用XML Http Request对象和服务器进行数据交互的方式

为了实现异步通讯,提高用户体验度,而将很多旧知识(XML,DOM,JavaScript,HTML,Jquery,Css……)重新融合的一个新的知识框架

为什么要学ajax

只要涉及到了交互,那就需要用到ajax,所以为了使页面活过来,实现动态更新,那就需要用到ajax

ajax使用的技术
  • HTML / XHTML和CSS - 这些技术用于显示内容和样式。
  • DOM - 用于动态显示和与数据交互。
  • XML - 用于与服务器之间传送数据
  • XMLHttpRequest - 用于客户端和服务器之间的异步通信。
  • JavaScript - 主要用于客户端验证。
ajax有哪些优点?
  • 快速回复
  • 带宽利用率
  • 在从服务器检索数据之前,不会阻止用户。
  • 它允许我们只将重要数据发送到服务器。
  • 它使应用程序具有交互性和更快速。
又有哪些缺点
  • 取决于JavaScript
  • 安全问题
  • 调试很困难
ajax如何使用:

ajax常用的请求方式有post,get,delete。不常用copy、head、link等等。

get

表单

<form action="/login" target="_blank" method="GET">
    <input type="text" name="email"/>
    <input type="passsword" name="password" />
    <button type="submit">
        提交
    </button>
</form>

xhr

var xhr = new XMLHttprequest();
xhr.open("GET","ajax_test.html",true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send("fname=Henry&lname=Ford");
post

与上面趋同

delete

如果不用 ajax 发送 PUT,我们可以通过设置一个隐藏域设置 _method 的值,如下:

<form action="/emps" method="post">
	<input type="hidden" name="_method" value="PUT">
	<input type="text" name="username">
	<input type="password" name="password">
    <input type="submit"/>
</form>

浏览器 form 表单只支持 GET 与 POST 请求,而DELETE、PUT 等 method 并不支持,Spring3.0 添加了一个过滤器,可以将这些请求转换为标准的 http 方法,使得支持 GET、POST、PUT 与 DELETE 请求。

ajax 发送 delete请求

删除员工

function deleteEmp(empId){
    $.ajax({
        url : "emps",
        data : {_method : "DELETE", empId : empId},
        type : "POST",
        success : function(result){

        }
    })
}

发送表单 ajax 请求:

$("#updateBtn").click(function(){
			$.ajax({
				url : "emps",
				data : $("#updateEmpFormNode").serialize()+"&_method=put",
				type : "post",
				success : function(result){
					alert(result);
				}
			})
			
		})

XMLHttpRequest对象

前文我们说到ajax是一种利用XMLHttpRequest对象和服务器进行数据交互的方式

那么什么是XMLHttpRequest对象

XMLHttpRequest对象是一个JavaScript API,用于在客户端和服务器之间进行数据传输

作为ajax的核心,它提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。该对象使得ajax 可以同步或者异步地请求Web 服务器,并且能够以文本或者一个 DOM 文档的形式返回内容,实现不刷新页面的情况下更新网页内容的效果

比如,在一个社交网站中,我们可以使用XMLHttpRequest对象获取新的消息或更新朋友列表,而无需刷新页面。

需要注意的是,在处理跨域请求的时候,XMLHttpRequest对象会受到同源策略的限制。如果你要处理跨域请求,你需要了解CORS(跨来源资源共享)或JSONP等技术,以确保通信安全性和数据完整性。

XMLHttpRequest的目的是
  • 它将后台数据发送到服务器。
  • 它从服务器请求数据。
  • 它从服务器接收数据。
  • 它在不重新加载页面的情况下更新数据。
XMLHttpRequest的属性有哪些
  • onReadyStateChange - 只要readystate属性发生变化,就会调用它。
  • readyState - 表示请求的状态。
  • responseText - 它将响应作为文本返回。
  • responseXML - 它以XML格式返回响应。
  • status - 返回请求的状态编号。
  • statusText - 返回状态的详细信息。
XMLHttpRequest的重要方法有
  • abort() - 用于取消当前请求。
  • getAllResponseHeaders() - 返回标题详细信息。
  • getResponseHeader() - 返回特定的标题详细信息。
  • open() - 用于打开请求。
  • send() - 用于发送请求。
  • setRequestHeader() - 它添加了请求标头。
XMLHttpRequest使用的open()方法有哪些类型?
  • open(method,URL) - 它打开指定get或post方法和URL的请求。
  • open(method,URL,async) - 它与上面相同但是指定异步或不指定。
  • open(method,URL,async,userName,password) - 与上面相同,但指定用户名和密码。
XMLHttpRequest使用的send()方法有哪些类型?
  • send() - 它发送get请求
  • send(string) - 发送帖子请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值