express使用cros开启跨域访问

简介: express使用cros开启跨域访问

如果跨域,前端直接请求后端数据会报错

Access to XMLHttpRequest at 'http://127.0.0.1:8080/' 
from origin 'null' has been blocked by CORS policy: 
No 'Access-Control-Allow-Origin' header is present on the requested resource.

项目结构

├── index.html

├── index.js
└── package.json

package.json

{
"dependencies": {
"cors": "^2.8.5",
"express": "^4.17.1"
}
}

index.js

var express = require('express')
var cors = require('cors')
var app = express()

app.use(cors())

app.get('/', function (req, res) {
res.send("hello")
})

app.listen(8080, function () {
console.log('listening: http://127.0.0.1:8080/')
})

index.html

<script>
var request = new XMLHttpRequest();
request.open('GET', 'http://127.0.0.1:8080', true)
request.send(null)
request.onreadystatechange = function () {
if (request.readyState == 4 && request.status == 200) {
console.log(request.responseText);
}
}
</script>

通过以上代码就可以正常请求获取后台数据了

            </div>
目录
相关文章
|
8月前
|
SQL 调度 数据库
开发YashanDB数据库?用 DBeaver for YashanDB 更顺手
数据库开发复杂易错,尤其在企业级场景中。为提升效率,YashanDB 团队基于 DBeaver 开源工具打造专属解决方案——DBeaver for YashanDB。它支持多类型数据库对象管理(表、视图、函数等),适配 YashanDB 特有表结构(HEAP、LSC),提供智能补全、语法高亮、SQL 调试等功能,让开发更高效流畅。推荐用于数据库应用开发团队、高频调试用户及中大型企业统一工具栈场景。
|
机器学习/深度学习 人工智能 C++
《CMake:掌控 C++人工智能项目编译的魔法棒》
在 C++ 人工智能项目的开发中,CMake 作为一款强大的构建工具,能够高效管理项目的编译流程。本文深入探讨了如何利用 CMake 处理复杂的项目结构、管理库文件链接、定制编译选项、支持跨平台编译以及生成和管理构建系统,帮助开发者高效构建、扩展和维护 C++ 人工智能项目。
213 17
|
监控 数据挖掘 UED
ROI
【5月更文挑战第16天】ROI
4064 4
|
JavaScript 前端开发 安全
【Web 前端】TypeScript 的特点是什么?
【5月更文挑战第1天】【Web 前端】TypeScript 的特点是什么?
|
前端开发 JavaScript UED
前端UI组件
前端UI组件
477 0
|
安全 Linux API
操作系统中的窗口焦点和事件的影响
操作系统中的窗口焦点和事件的影响
336 0
|
数据采集 Kubernetes 监控
Kubernetes 文件采集实践:Sidecar + hostPath 卷
在Kubernetes 日志查询分析实践中,我们介绍了如何通过 DaemonSet 方式部署 logtail 并采集标准输出/文件两种形式的数据。DaemonSet 部署的优势在于其能够尽可能地减少采集 agent 所占用的资源且支持标准输出采集,但因为每个 DaemonSet pod 需要负责 n...
559 1
Kubernetes 文件采集实践:Sidecar + hostPath 卷
解决:org.springframework.web.method.annotation.MethodArgumentTypeMismatchExceptio
解决:org.springframework.web.method.annotation.MethodArgumentTypeMismatchExceptio
651 0