欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ajax解決跨域之設(shè)置CORS響應(yīng)頭實(shí)現(xiàn)跨域案例詳解

 更新時(shí)間:2021年07月30日 09:52:58   作者:Z && Y  
這篇文章主要介紹了Ajax解決跨域之設(shè)置CORS響應(yīng)頭實(shí)現(xiàn)跨域案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

1.設(shè)置CORS響應(yīng)頭實(shí)現(xiàn)跨域

跨源資源共享(CORS)

1.1 什么是CORS

CORS(Cross-Origin Resource Sharing),跨域資源共享。CORS 是官方的跨域解決方 案,它的特點(diǎn)是不需要在客戶端做任何特殊的操作,完全在服務(wù)器中進(jìn)行處理,支持 get 和 post 請(qǐng)求。跨域資源共享標(biāo)準(zhǔn)新增了一組 HTTP 首部字段,允許服務(wù)器聲明哪些 源站通過(guò)瀏覽器有權(quán)限訪問(wèn)哪些資源

1.2 CORS 怎么工作的?

CORS 是通過(guò)設(shè)置一個(gè)響應(yīng)頭來(lái)告訴瀏覽器,該請(qǐng)求允許跨域,瀏覽器收到該響應(yīng) 以后就會(huì)對(duì)響應(yīng)放行。

1.3 CORS 的使用?

在這里插入圖片描述

ajaxDemo.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CORS</title>
    <style>
        #result {
            width: 200px;
            height: 100px;
            border: solid 1px #90b;
        }
    </style>
</head>

<body>
    <button>發(fā)送請(qǐng)求</button>
    <div id="result"></div>
    <script>
        const btn = document.querySelector('button');

        btn.onclick = function () {
            //1. 創(chuàng)建對(duì)象
            const x = new XMLHttpRequest();
            //2. 初始化設(shè)置
            x.open("GET", "http://127.0.0.1:8080/cors-server");
            //3. 發(fā)送
            x.send();
            //4. 綁定事件
            x.onreadystatechange = function () {
                if (x.readyState === 4) {
                    if (x.status >= 200 && x.status < 300) {
                        document.getElementById('result').innerText = x.response;
                    }
                }
            }
        }
    </script>
</body>

</html>

在這里插入圖片描述

server.js

//1. 引入express
const express = require('express');

//2. 創(chuàng)建應(yīng)用對(duì)象
const app = express();
 
//3. 創(chuàng)建路由規(guī)則
// request 是對(duì)請(qǐng)求報(bào)文的封裝
// response 是對(duì)響應(yīng)報(bào)文的封裝

app.all('/cors-server', (request, response)=>{
    //設(shè)置響應(yīng)頭
    response.setHeader("Access-Control-Allow-Origin", "*");// 允許請(qǐng)求所有跨域 * 
    // response.setHeader("Access-Control-Allow-Origin", "http://127.0.0.1:5500"); // 允許指定請(qǐng)求跨域
    // response.setHeader("Access-Control-Allow-Headers", '*');// 允許自定義請(qǐng)求頭標(biāo)簽
    // response.setHeader("Access-Control-Allow-Method", '*');// 允許所有的請(qǐng)求跨域 *
    // response.setHeader("Access-Control-Allow-Method", 'get');// 允許get請(qǐng)求跨域

    response.send('hello CORS');
});


//4. 監(jiān)聽(tīng)端口啟動(dòng)服務(wù)
app.listen(8080, () => {
    console.log("服務(wù)已經(jīng)啟動(dòng), 8080 端口監(jiān)聽(tīng)中....");
});

啟動(dòng)服務(wù) nodemon server.js

在這里插入圖片描述

運(yùn)行結(jié)果:

在這里插入圖片描述

到此這篇關(guān)于Ajax解決跨域之設(shè)置CORS響應(yīng)頭實(shí)現(xiàn)跨域案例詳解的文章就介紹到這了,更多相關(guān)Ajax解決跨域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論