美文网首页
ajax面试知识点

ajax面试知识点

作者: guoXuJianShu | 来源:发表于2021-09-17 11:54 被阅读0次

1. 手写一个简易的ajax

const xhr = new XMLHttpRequest()
// get请求
xhr.open('GET', '/data/test.json', true)
xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) {
        if (xhr.status === 200) {
            // console.log(
            //     JSON.parse(xhr.responseText)
            // )
            alert(xhr.responseText)
        } else if (xhr.status === 404) {
            console.log('404 not found')
        }
    }
}
xhr.send(null)

// post请求
xhr.open('POST', '/data/test.json', true) // true为异步请求,false为同步请求
xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) {
        if (xhr.status === 200) {
            // console.log(
            //     JSON.parse(xhr.responseText)
            // )
            alert(xhr.responseText)
        } else if (xhr.status === 404) {
            console.log('404 not found')
        }
    }
}
constpostData= { userName: 'zhangsan', password: '123456' }
xhr.send(JSON.stringify(pastData))

2. xhr.readyState

  • 0: (未初始化)还没投调用send()方法
  • 1:(载入)以调用send()方法,正在发送请求
  • 2:(载入完成)send()方法执行完成,已经接收到全部响应内容
  • 3:(交互)正在解析响应内容
  • 4:(完成)响应内容解析完成,可以在客户端调用

3. 跨域

同源策略:

  • ajax请求时,浏览器要求当前网页和server必须同源
  • 同源:协议、域名、端口三者必须一致

加载图片、CSS、JS 可无视同源策略

  • <img/>可用于统计打点,可使用第三方统计服务

  • <link/> <script> 可使用CDN,CDN一般都是外域

  • <script> 可实现JSONP

所有的跨域,都必须经过server端允许和配合

未经server端允许就实现跨域,说明浏览器有漏洞,危险信号

4.JSONP

  • script可以绕过跨域限制
  • 服务器可以任意动态拼接数据返回
  • 所以,script就可以获得跨域的数据,只要服务端愿意返回

相关文章

  • ajax面试知识点

    1. 手写一个简易的ajax 2. xhr.readyState 0: (未初始化)还没投调用send()方法 1...

  • JavaWeb学习-Ajax-1-Ajax简介

    JavaWeb学习-Ajax-1-Ajax简介 进入到一个新的知识点的学习,这个知识点叫做Ajax,指的是异步的j...

  • AJAX实现原理

    作为一种基础的交互,AJAX是一个非常重要的知识点,也是面试必问,所以在此我进行简单的资料整合,方便自己对知识点的...

  • Ajax——原理、流程、readyState状态码、优缺点

    1、AJAX 教程_w3cshool 2、AJAX 面试问题 一、什么是ajax?ajax作用是什么? ​ A...

  • 面试题汇集

    ajax常见面试题 1:什么是ajax?ajax作用是什么?异步的javascript和xml AJAX 是一种...

  • 前端知识点总结——AJAX

    前端知识点总结——Ajax 1.ajax 2.HTTP协议 2.1请求头 2.2响应(response)消息 2....

  • Ajax小案例之获取后台信息显示

    知识点:数据传输--------jsonjquery-----------.ajax()获取**html部分 注...

  • 关于AJAX

    1.需要掌握以下知识点 ①,AJAX全称(Asynchronous JavaScript and XML),异步 ...

  • 2019-02-27问题(三)

    题目来源:python常见面试题——网络编程和前端部分 题目: 1. AJAX是什么,如何使用AJAX? ...

  • Ajax知识点

    1.Ajax是什么:AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。2.两种常用的数据格式...

网友评论

      本文标题:ajax面试知识点

      本文链接:https://www.haomeiwen.com/subject/rezdwktx.html