【面试题】Ajax

article/2025/9/17 16:15:34

1. Ajax请求

1.1 get请求方式

const xml = new XMLHttpRequest()
xml.open("get", "test.json", true)   
xml.send(null)
xml.onreadystatechange = function(){if(xml.readyState === 4 && xml.status === 200){console.log(JSON.parse(xml.responseText))alert(xml.responseText)}
}

后端的数据

{"name":"zhangsan"
}

在这里插入图片描述

1.2 post请求方式

post请求方式发送请求参数,需要使用JSON.stringify(xxx),将数据转为json格式。

const xml = new XMLHttpRequest()
xml.open("post", "/login", true)xml.onreadystatechange = function(){if(xml.readyState === 4 && xml.status === 200){alert(xml.responseText)}
}const postData = {userName: 'zhangsan',password: 'xxx'
}xml.send(JSON.stringify(postData))

1.3 readyState

readyState是请求的状态:

  • 0:UNSET,尚未调用open方法
  • 1:OPENED,open方法已被调用
  • 2:HEADERS_RECEIVED,send方法已被调用,header已被接收
  • 3:LOADING,下载中,responseText已有部分内容
  • 4:DONE,下载完成

1.4 status

status是服务器返回的状态码:

  • 2xx:表示成功处理请求,如200
  • 3xx:需要重定向,浏览器直接跳转,如301 302 304。301是永久重定向,重定向为a,若是访问b也会重定向a。302是临时重定向,只重定向一次。304是资源未改变,服务器并没有返回新的资源。
  • 4xx:客户端请求错误,如404 403。404是请求的地址有错误,服务器找不到页面。403是没有访问权限。
  • 5xx:服务器端错误

2. 浏览器同源策略

进行Ajax请求时,浏览器要求当前网页和服务器必须同源。同源指的是请求的URL地址和当前页面的URL地址中的协议、域名、端口三者必须一致。

  • 加载图片、CSS、JS可无视同源策略。
  • 所有的跨域,都必须经过服务器端允许和配合。
  • 未经服务器端允许就实现跨域,说明浏览器有漏洞。

3. 跨域解决方案

3.1 方法1:JSONP

在这里插入图片描述

3.2 方法2:CORS-服务器设置 http header

在这里插入图片描述

4. 手动封装Ajax请求函数

function ajax(url){const p = new Promise((resolve, reject)=>{const xml = new XHLHttpRequest()xml.open("get", url, true)xml.send(null)xml.onreadystatechange = function(){if(xml.readyState === 4 && xml.status === 200){resolve(JSON.parse(xml.responseText))}else if(xml.status === 404){reject(new Error('404 not found'))}}})return p
}const url = '/data/test.json'
ajax(url)
.then(res=>console.log(res))
.catch(err=>console.error(error))

http://chatgpt.dhexx.cn/article/4ZK4r9eZ.shtml

相关文章

AJAX常见面试题,面试必备

什么是AJAX,为什么要使用Ajax AJAX是“Asynchronous JavaScript and XML”的缩写。他是指一种创建交互式网页应用的网页开发技术。、 客户端与服务器,可以在【不必刷新整个浏览器】的情况下,与服务器进行异步通讯的技术 AJAX应用和传统Web…

Ajax和Axios相关面试题总结

文章目录 Ajax和Axios1.同步请求和异步请求2.fetch、axios、jquery的ajax用法3.JS跨域资源共享(CORS问题)4.Ajax 解决浏览器缓存问题5.ajax 返回的状态6.实现一个 Ajax7.如何实现 ajax 请求,假如我有多个请求,我需要让这些 ajax 请…

面试题 —— Ajax的基本原理总结

前两天面试的时候,面试官问我,你掌握的技能是Ajax,那你给我讲一下它的基本原理吧! 妈呀,瞬间脑子空白。当时在门口背了好久的网络知识点,一时竟然说不吃话,只记得什么异步通信,同步数…

AJAX常见面试题(修订版)

前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y AJAX常见面试题 什么是AJAX,为什么要使用Ajax AJAX是“Asynchronous JavaScript and XML”的缩写。他是指一种创建交互式网页应用的网…

AJAX面试题都在这里

AJAX常见面试题 什么是AJAX,为什么要使用Ajax AJAX是“Asynchronous JavaScript and XML”的缩写。他是指一种创建交互式网页应用的网页开发技术。、 客户端与服务器,可以在【不必刷新整个浏览器】的情况下,与服务器进行异步通讯的技术 AJAX应…

SQL Server2016安装教程

安装前先关闭杀毒软件和360卫士,注意安装路径不能有中文,安装包路径也不要有中文。 注意:安装过程需要电脑连接网络,中途不能断网。 说明:需要安装SQL全部功能则需要先安装JDK,若只需要安装数据库功能的话则…

SQLServer2019安装教程

有手就行的SQL Server 2019超超超超级详细安装教程,你学会了吗? 1. 百度搜索SQL Server进入官网 https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2. 进入首页后鼠标下滑可以看见两个免费版本的sql server,选择需要的版…

SQL server 2017安装教程

✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:实用工具🥇 💬个人格言:不断的翻越一座又一座的高山&#xf…

SqlServer2019安装教程-基本安装

SqlServer2019安装教程-自定义安装:https://blog.csdn.net/qq_33556442/article/details/100885939 下载SQL Server 2019 Release Candidate https://www.microsoft.com/en-us/evalcenter/evaluate-sql-server-2019-rc/ 1.点击【Continue】 2.填写资料再点击【Co…

SQL Server 2016下载及安装教程

目录 一、下载 1.sql server 2016安装包与sp2补丁 ​编辑2.管理工具 二、安装 1.sql server2016 2.补丁SP2安装 三、用管理工具连接sql 一、下载 1.sql server 2016安装包与sp2补丁 下载链接在评论中 2.管理工具 下载链接在评论中 二、安装 1.sql server2016 选中下…

SQL Server2008安装详细教程

1.将光盘文件解压成文件夹格式,(解压过程比较慢,请耐心等待); 2.打开开始菜单的设置; 3.打开设置后,点击更新和安全,然后进入; 4.在Windows安全中心,将…

Sql Server 2019 详细安装教程

Sql Server 2019 详细安装教程 安装完成后校验准备需要设备检查.NET 35 环境自定 jdk 下载 安装完成后校验 该步骤请在以下步骤全部操作完成后再看 参考链接:Sql Server 2019 完成安装后检验使用 准备 需要设备 WIN 10 电脑一台 检查.NET 35 环境 检查.NET35…

【数据库】SQL Server2022安装教程

大家好,我是雷工! 最近需要安装SQLServer数据库,此次安装的是sql_server_2022_developer版本,以下记录安装及配置过程。大家可以参考指正。 一、安装SQL Server步骤: 1、官网下载 SQL Server 2022 Developer。 2、打…

SQLServer安装教程(史上最详细版本)

下载 安装包已上传至百度网盘,安装包里已含注册码,下载地址(含注册码) 链接:https://pan.baidu.com/s/147YRI7DdCqTOTKfe9UNtiA 提取码:6txl 安装过程 1.选择解压目录 2.解压完成后,进入解压…

SQL Server 2008R2安装详细教程(附安装包)

许多人都在苦恼如何安装SQL server,或者找不着安装包,那么这篇文章将带您避坑,解决您的烦恼 安装包如下: 云盘链接: 嗨,请点击我!http://pan.baidu.com/s/1_7sQ9Eky2mGogKe4W0A_6Q 提取码&#…

SQL Server安装下载教程

SQL Server安装下载教程 一、官网下载二、安装1.运行安装包,选择安装类型是“基本”2.选择语言3.选择安装路径4.继续安装SSMS 三、基础配置1.打开SQL Server 2019 配置管理器2.选择SQL Server 网络配置-->MSSQLSERVER的协议-->TCP/IP,启动它3.打开…

SQL Server 2019安装教程(图文)

本章教程,介绍一下SQL Server 2019的安装过程。 SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点。Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的…

SQL Server 2019下载及安装教程

目录 一、下载 1.sql server 2019安装包 2.管理工具 二、安装 1.sql server2019 2.安装管理工具 三、用管理工具连接sql 一、下载 1.sql server 2019安装包 链接:https://pan.baidu.com/s/1je-24NywXCnFL0OTAMbg2w?pwd2vtv 提取码:2vtv 2.管理…

SqlServer 2019/2022 安装教程(图文)

一、安装sql sever 2019/2022 两个链接都可 Sqlserver2019官网 SqlServer2019下载 https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads https://www.microsoft.com/zh-cn/evalcenter/evaluate-sql-server-2019?filetype EXE1.下载exe 填写信息 2.双击运行官网…

SQL Server 下载安装教程

--------------------------2021.3.9更新---------------------------------------- 有几位读者私聊我遇到了如下问题 针对如上问题“糟糕无法安装SQLServer(setup.exe)” 可以安装如下步骤进行解决: 1.尝试修复 出现这种状况主要原因还是安装过程中没有完整安装或…