ajax面试知识点

2021-09-17  本文已影响0人  guoXuJianShu

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

3. 跨域

同源策略:

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

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

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

4.JSONP

上一篇下一篇

猜你喜欢

热点阅读