是異步的JavaScript 和 XML面試
面試題:
請使用原生js來發送AJAX請求ajax
let request = new XMLHttpRequest() request.open('get', '/xxx') // 配置request request.send() request.onreadystatechange = ()=>{ if(request.readyState === 4){ if(request.status >= 200 && request.status < 300){ console.log('說明請求成功') }else if(request.status >= 400){ console.log('說明請求失敗') } } }
若是你不是 xxxxx.com 裏的js 你就不能向這個域名發送 任何ajax請求只有 協議+端口+域名 如出一轍才容許發ajax請求
【注意要】如出一轍 如出一轍 如出一轍 如出一轍跨域
一、http://baidu.com 能夠向 http://www.baidu.com 發送請求嗎 ???
不能!!!要如出一轍才行瀏覽器
二、http://baidu.com:80 能夠向 http://baidu.com:81 發送 ajax 請求嗎???
不能!!!端口不同安全
cors 能夠告訴瀏覽器 不需阻止
cross-origin resource sharing 跨站資源共享
非要響應就在服務器寫: response.setHeader('Access-Control-Allow-Origin','xxxxxx 網址 xxxxxx')
由於原頁面用form 提交到另外一個域名以後,
原頁面的腳本沒法獲取新頁面中的內容
因此瀏覽器認爲是安全的而ajax是能夠讀取響應內容的
所以瀏覽器不能容許你這樣作(請求已經發出去了 只是沒有響應而已)服務器
一個域名的js
在未經容許的狀況下不得讀取另外一個域名的內容
但瀏覽器並不阻止你向另外一個域名發送請求cors