AJAX学习笔记

AJAX学习笔记

Ajax 即 Asynchronous Javascript And XML(异步 JavaScript 和 XML),是指⼀种创建交互式⽹⻚应⽤的⽹⻚开发技术。原生JS提供了XMLHttpRequest对象来实现这种技术

XHR

xhr,全称为XMLHttpRequest,用于与服务器交互数据,是ajax功能实现所依赖的JS对象

重要的属性

属性类型功能
onreadystatechange函数(事件)当xhr对象的readyState属性发生改变时触发该事件
open函数初始化xhr对象,调用完成后readyState 从0变成1
XMLHttpRequest.open(method:string,url:string,async:boolean,username?:string,password?:string)
setRequestHeader函数设置请求的自定义标头header,通常在一些POST请求场景需要通过此函数指定标头 Content-Type
send函数发送请求,XMLHttpRequest.send(body) ,接收一个参数,表示本次请求Body中携带的数据
readyState字段0:请求未初始化(还没有调用 open())
1:请求已经建立,但是还没有发送(还没有调用 send())。
2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。
3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。
4:响应已完成;您可以获取并使用服务器的响应了。
status字段服务器响应的http状态码 示例:200:OK

GET请求

let url = "http://localhost:62322/api/values?id=1" //请求地址,可以传递QueryString参数
let xhr = new XMLHttpRequest()
xhr.open("get",url,true)
xhr.setRequestHeader("my-header","headervalue")
xhr.send(null)//不传递数据
xhr.onreadystatechange = function(){
    if(xhr.readyState === 4 && xhr.status === 200)
    {//当响应完成且返回的状态码为200
    }
}

POST请求

json
  • 需要指定Content-Typeapplication/json;charset=UTF-8
let url = "http://localhost:62322/api/values" //请求地址
let xhr = new XMLHttpRequest()
xhr.open("post",url,true)
//表明请求体内的数据类型是json
xhr.setRequestHeader("Content-Type","application/json;charset=UTF-8") 
let json = {"value1":1,"value2":2};
xhr.send(JSON.stringify(json))
xhr.onreadystatechange = function(){
    if(xhr.readyState === 4 && xhr.status === 200)
    {//当响应完成且返回的状态码为200
    }
}
form表单
  • 需要指定Content-Typeapplication/x-www-form-urlencoded

  • 参数用&符号进行分割

 let url = "http://localhost:62322/api/values"
 let xhr = new XMLHttpRequest()
 xhr.open("post",url,true)
 xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
 xhr.send("value1=1&value2=2") //发送两个表单参数 value1 和 value2
 xhr.onreadystatechange = function(){
 	if(xhr.readyState === 4 && xhr.status === 200)
 	{
 	}
 }
上传文件
function uploadFile() {
	let url = "http://localhost:62322/api/values/UploadFile"
	let el = document.getElementById("file")
	if (el.files.length <= 0) {
	    return alert('请选择要上传的文件!')
	}
	let xhr = new XMLHttpRequest()
	let fd = new FormData()
	fd.append("imgfile",el.files[0])
	xhr.open("post",url,true) 
	xhr.onreadystatechange = function()
	{
	    if (xhr.readyState === 4 && xhr.status === 200) {
	    }
	}
	xhr.send(fd)
}
	<input type="button" onclick="uploadFile()" value="上传" />
    <input id="file" type="file" value="选择文件" />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您好!对于学习Ajax,我可以为您提供一些学习笔记。以下是一份简要的Ajax学习笔记,希望对您有所帮助: 1. 什么是Ajax? - Ajax全称为Asynchronous JavaScript and XML(异步JavaScript和XML),是一种用于创建交互式Web应用程序的技术。 - 它通过在后台与服务器进行数据交换,实现在不刷新整个页面的情况下更新部分页面内容。 2. Ajax的优点: - 异步处理:可以在后台发送和接收数据,而无需刷新整个页面。 - 提高用户体验:通过部分更新页面内容,可以提供更快的响应时间和更流畅的用户体验。 - 减轻服务器负担:只更新需要的部分内容,减少了不必要的数据传输和服务器负载。 3. Ajax的基本原理: - 使用XMLHttpRequest对象向服务器发送请求,并接收响应。 - 通过JavaScript在前端处理响应数据。 - 更新页面内容,以显示最新的数据。 4. Ajax的核心技术: - XMLHttpRequest对象:用于与服务器进行数据交换。 - JavaScript:用于处理响应数据和更新页面内容。 - XML或JSON:用于传输数据格式。 5. Ajax的使用步骤: - 创建XMLHttpRequest对象。 - 定义请求类型、URL和是否异步。 - 发送请求并接收响应。 - 处理响应数据并更新页面内容。 6. 常见的Ajax框架和库: - jQuery:一个流行的JavaScript库,提供了简化Ajax开发的方法和函数。 - Axios:一个基于Promise的HTTP客户端,用于浏览器和Node.js。 - Fetch API:一种用于发送和接收网络请求的新标准。 这只是Ajax学习的一些基本概念和步骤,您可以进一步深入学习Ajax的相关知识和实践。希望这些笔记对您有所帮助!如有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流水线程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值