从零入门Ajax异步请求技术

XMLHttpRequest 对象是一个javascript对象,存在着浏览器差异。简称xhr对象


4.Ajax的编程思路


  1. 创建xhr对象

var xhr ;

if(window.XMLHttpRequest){

xhr = new XMLHttpRequest();

}else{

xhr = new ActiveXObject(“Microsoft.XMLHTTP”);

}

  1. 发送请求并传递参数

xhr.open(“GET|POST”,“url?参数”);

xhr.send(null);

  1. 处理响应并渲染页面

xhr.onreadystatechange = function(){

if(xhr.readyState == 4 && xhr.status == 200){

console.log(xhr.resonseText);

}

}


5.发送GET方式请求


  • xhr.readyState

  • 0:xhr没有初始化

  • 1:xhr创建了

  • 2:发送请求

  • 3:响应回来了,但是不完整

  • 4:完整的响应

  • xhr.status

  • 404:路径找不到

  • 500:服务器内部错误

  • 405:表示请求的方式不对

  • 200:正确响应

//1. 创建xhr对象

var xhr ;

if(window.XMLHttpRequest){

xhr = new XMLHttpRequest();

}else{

xhr = new ActiveXObject(“Microsoft.XMLHTTP”);

}

//2.发送请求,并传递参数

xhr.open(“GET”, “/ajax_day2/test?name=zhangsan”);

xhr.send();

//3.处理响应

xhr.onreadystatechange = function(){

if(xhr.readyState4 && xhr.status200){

console.log(xhr.responseText);

}

}


6.发送POST方式请求


//1. 创建xhr对象

var xhr; if(window.XMLHttpRequest){

xhr = new XMLHttpRequest(); }else{

xhr = new ActiveXObject(“Microsoft.XMLHTTP”); }

//2.发送请求,并传递参数

xhr.open(“POST”,“/ajax_day2/test”);

// 用来模拟from表单进行传递数据编码

xhr.setRequestHeader(“content-type”, “application/x-www-form-urlencoded”); xhr.send(“name=zhangsan”);·

//3.处理响应

xhr.onreadystatechange = function(){

if(xhr.readyState4 && xhr.status200){ console.log(xhr.reponseText);

} }


7.Ajax的数据交换机制


JSON (JavaScript Object Notation, JS对象标记) 是一种轻量级的数据交换格式。

  1. 如果服务端响应的不再是字符串而是对象或者是集合类型时,无法直接将对象响应给客户端。

如: User、List、Map<String,User> 需要将对象转为json格式字符串响应给ajax。

2.如何将对象转为json格式的字符串

我的面试宝典:一线互联网大厂Java核心面试题库

以下是我个人的一些做法,希望可以给各位提供一些帮助:

整理了很长一段时间,拿来复习面试刷题非常合适,其中包括了Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等,且还会持续的更新…可star一下!

image

283页的Java进阶核心pdf文档

Java部分:Java基础,集合,并发,多线程,JVM,设计模式

数据结构算法:Java算法,数据结构

开源框架部分:Spring,MyBatis,MVC,netty,tomcat

分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等

微服务部分:SpringBoot,SpringCloud,Dubbo,Docker

image

还有源码相关的阅读学习

image

netty,tomcat

分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等

微服务部分:SpringBoot,SpringCloud,Dubbo,Docker

[外链图片转存中…(img-RsrKDAiL-1714568730407)]

还有源码相关的阅读学习

[外链图片转存中…(img-LpCOB6ZE-1714568730407)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值