Javascript 使用NodeJs发布Cors,在本地进行表达和反应
我正在构建一个小型应用程序,其中NodeJs和Express用于后端,React用于客户端 为了避免CORS政策问题,我使用了“CORS”npm包,但它不能解决我在客户端的问题 快递:Javascript 使用NodeJs发布Cors,在本地进行表达和反应,javascript,node.js,reactjs,express,cors,Javascript,Node.js,Reactjs,Express,Cors,我正在构建一个小型应用程序,其中NodeJs和Express用于后端,React用于客户端 为了避免CORS政策问题,我使用了“CORS”npm包,但它不能解决我在客户端的问题 快递: const express = require('express') const routes = require('../routes') const bodyParser = require('body-parser') const cors = require('cors') const server =
const express = require('express')
const routes = require('../routes')
const bodyParser = require('body-parser')
const cors = require('cors')
const server = express()
server.use(bodyParser.urlencoded({ extended: true }))
server.use(express.json())
server.use(cors())
server.use('/api', routes)
module.exports = server
客户端:
import React, {useState, useEffect} from 'react'
import axios from 'axios'
const Contacts = () => {
const [contacts, setContacts] = useState([])
useEffect(() => {
axios.get('localhost:3300/api/contacts/')
.then((response) => {
console.log(response)
})
.catch((error) => console.log(error))
}, [])
return (
<div className="container">
<h1>Contacts list</h1>
</div>
)
}
export default Contacts
import React,{useState,useffect}来自“React”
从“axios”导入axios
常量联系人=()=>{
const[contacts,setContacts]=useState([])
useffect(()=>{
获取('localhost:3300/api/contacts/'))
。然后((响应)=>{
console.log(响应)
})
.catch((错误)=>console.log(错误))
}, [])
返回(
联系人列表
)
}
导出默认联系人
我仍然可以在控制台上看到:
我是不是遗漏了什么
提前感谢您…将“http://”放在“localhost:3300…”前面。您需要修复服务器端代码以允许跨域请求
server.use(cors())
server.options('*', cors());
好的,我终于换了
axios.get('localhost:3300/api/contacts/')
借
它可以工作…将“http://”放在“localhost:3300…”前面,因为错误表明您需要使用一个允许的方案,即您需要在get()的url中使用方案前缀,如
http://
,如果您想启用所有CORS请求,则不需要星号,请参阅此处的第一个使用示例:这是正确答案。你错过了协议。localhost也只是127.0.0.1的掩码。因此,您的主机可能存在一些内部映射问题。但这一答案应该得到投票。
axios.get('http://127.0.0.1:3300/api/contacts/')