我正在使用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 = 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
而且我仍然可以在控制台上得到它:
我在这里想念什么吗?
先谢谢您...
答案 0 :(得分:1)
将'http://'放在'localhost:3300 ...'前面
答案 1 :(得分:1)
您需要修复服务器端代码以允许跨域请求
server.use(cors())
server.options('*', cors());
答案 2 :(得分:0)
好吧,我最终取代
axios.get('localhost:3300/api/contacts/')
通过
axios.get('http://127.0.0.1:3300/api/contacts/')
它有效...