AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)
Ajax是一种创建交互式网页应用的网页开发技术,当需要从服务器获取数据,并刷新页面的操作,如果不采用AJAX,则需要用提交整个表单的方式,当提交表单时,发送请求给服务器,页面需要等待服务器发送完response后,页面才能恢复操作。
Ajax基本使用
-
实例化Ajax对象var xhr = new XMLHttpRequest();
-
配置ajax请求xhr.open(request-type,url,asynch)
-
request-type:【必选】请求类型 get post put delete
-
url:【必选】请求地址
-
asynch:【可选】请求方式 同步请求 false、异步请求 true 该参数是可选的,默认为 true
-
发送ajax请求xhr.send()
-
监听Ajax状态(获取响应结果)当ajax请求状态发生变化,会触发该事件xhr.onreadystatechange = function(){ // 当xhr状态 == 4 响应内容解析完成,可使用 if(xhr.readyState == 4){ // http响应状态 if(xhr.status == 200){ // 获取响应结果 xhr.response } }}
-
请求状态 xhr.readyState(未初始化)还没有调用send()方法 (正在载入)已调用send()方法,正在发送请求 (载入完成)send()方法执行完成,已经接收到全部响应内容 (交互中)正在解析响应内容 (完成)响应内容解析完成,可以在客户端调用了
案例:
-
ajax发送get请求
ajax请求需要发送参数?xhr.open("get","URL/xxx?key=val&key=val&..")
-
ajax发送post请求ajax用post请求提交数据,可使用两种格式:
-
application/x-www-form-urlencoded 字符串key=val&key=val&....POST xhr.send(urlencoded)必须在send之前,设置请求头 content-type:xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded")
-
multipart/form-data 字符串/文件var fd = new FormData();fd.append(key,val)POST xhr.send(formdata)
-
Ajax基本使用
-
实例化Ajax对象var xhr = new XMLHttpRequest();
-
配置ajax请求xhr.open(request-type,url,asynch)
-
request-type:【必选】请求类型 get post put delete
-
url:【必选】请求地址
-
asynch:【可选】请求方式 同步请求 false、异步请求 true 该参数是可选的,默认为 true
-
发送ajax请求xhr.send()
-
监听Ajax状态(获取响应结果)当ajax请求状态发生变化,会触发该事件xhr.onreadystatechange = function(){ // 当xhr状态 == 4 响应内容解析完成,可使用 if(xhr.readyState == 4){ // http响应状态 if(xhr.status == 200){ // 获取响应结果 xhr.response } }}
-
请求状态 xhr.readyState(未初始化)还没有调用send()方法 (正在载入)已调用send()方法,正在发送请求 (载入完成)send()方法执行完成,已经接收到全部响应内容 (交互中)正在解析响应内容 (完成)响应内容解析完成,可以在客户端调用了
案例:
-
ajax发送get请求
ajax请求需要发送参数?xhr.open("get","URL/xxx?key=val&key=val&..")
-
ajax发送post请求ajax用post请求提交数据,可使用两种格式:
-
application/x-www-form-urlencoded 字符串key=val&key=val&....POST xhr.send(urlencoded)必须在send之前,设置请求头 content-type:xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded")
-
multipart/form-data 字符串/文件var fd = new FormData();fd.append(key,val)POST xhr.send(formdata)
-
封装Ajax
设计Ajax程序:
-
封装为函数 ajax
-
ajax函数的参数请求类型 method GET(默认) POST PUT Delete请求地址 url请求方式 async true 同步请求 false、异步请求 true请求数据 data qs, formdata, {}请求成功 success function(data){}请求失败 fail function(){}响应结果类型 dataType 'text','json'
-
思路围绕着 ajax 4步操作1> 参数验证、默认值处理2> 实例化 var xhr = new XMLHttpRequest();3> 配置参数 请求类型不同,对应不同配置 get URL post 请求体 send() put 请求体 send() delete URL 4> 发送 send() 5> 响应
-
根据响应结果 调用 对应回调函数
-
根据dataType 返回对应类型数据 success(data)xhr.onreadystatechange = function(){
}
-
jQuery中ajax
$.ajax({ url: "", type: "get|post|put|delete", async: true | false,
contentType: "application/x-www-form-urlencoded",
data:Object|String, dataType: "xml"|"html"|"script"|"json"|"jsonp"|"text", error:function(XMLHttpRequest, textStatus, errorThrown){},
success:function(data, textStatus, jqXHR){}})
AJAX(异步JavaScript和XML)是一种用于创建交互式网页应用的技术,允许页面在不重新加载整个页面的情况下与服务器交换数据。本文详细介绍了AJAX的基本使用,包括实例化XMLHttpRequest对象、配置请求、发送请求以及监听状态变化来获取响应结果。通过GET和POST两种方式展示了如何发送请求,并提供了参数传递和错误处理的示例。同时,文章还提及了如何将AJAX进行函数封装以及在jQuery中的使用,以提高代码复用性和简化开发流程。

2486

被折叠的 条评论
为什么被折叠?



