利用express简单实现同源请求

新建个origin.js, 导入express,添加个路由:

app.get('/home', (req, res)=> {
    res.sendFile(__dirname+'/index2.html');
});

 

终端输入node origin.js.

express设置监听端口是8000,打开http://127.0.0.1:8000/home就能访问本地index.html,此时index2里简单发起一个AJAX请求:

btn.onclick = function () {
            const xhr = new XMLHttpRequest();
            xhr.open('GET', '/data');  //此处不要补全http://127.0.0.1:8000,因为网页端和后端已经同源。
            xhr.send();
            xhr.onreadystatechange = function () {
                if (xhr.readyState === 4) {
                    if (xhr.status >= 200 && xhr.status < 300) {
                        console.log(xhr.response);
                    }
                }
            }
        }

  express继续添加一个路由

app.get('/data', (req, res)=>{
    res.send('数据');
})

此时就同源获取了后端返回的 '数据'。

重点是,这里利用了nodejs打开了index.html,然后再index.html打开了同源的/data,自然可以访问/data里返回的数据了。

posted @ 2021-09-13 13:44  巨魔战将  阅读(113)  评论(0编辑  收藏  举报