【问题标题】:What is the URL for sending GET request to the database on your machine?向您机器上的数据库发送 GET 请求的 URL 是什么?
【发布时间】:2021-10-24 15:50:44
【问题描述】:

我正在使用 ajax 发送 GET 请求以从我机器上的数据库中检索信息,目前它给了我以下错误:

'从源'http://127.0.0.1:5501' 访问'http://localhost:3000/api/groceries' 的 XMLHttpRequest 已被 CORS 策略阻止:否'Access-Control-Allow-Origin '请求的资源上存在标头。'

这是我为应用组件中的 GET 请求发送的 ajax 请求:

  getGroceries () {
    $.ajax({
      method: 'GET',
      url: 'http://localhost:3000/api/groceries',
      success: (groceries) => this.setState({
        groceries: groceries
      }),
      error: error => console.log(error)
    })
  }

这是我在我的机器上设置的服务器:

const express = require('express')
const app = express()
const port = 3000
const groceryController = require('./Controller/controllerGrocery.js')

app.get('/api/grocery', (req, res) => {
  groceryController.getGrocery(req, res)
})

app.use(express.urlencoded({extended: true}));

app.post('/api/grocery', (req, res) => {
  groceryController.addGrocery(req, res)
})

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})

在 ajax 中检索 GET 请求信息的正确 URL 是什么?谢谢!

【问题讨论】:

    标签: jquery ajax get


    【解决方案1】:

    URL 可能没有问题,但 CORS 可能有问题。

    您需要启用 CORS(跨域资源共享)。

    您可以在此处找到有关 CORS 的更多信息: https://owasp.org/www-community/attacks/CORS_OriginHeaderScrutiny#:~:text=Introduction,domain%20than%20is%20source%20domain.

    您需要做的是在您的服务器上启用 CORS。

    在您的项目中添加 cors 包:

    npm install cors 或者 纱线添加cors

    并在 server.js(或主后端 .js 文件)上使用它:

    const cors = require("cors");
    
    app.use(cors());
    
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-11
      • 2017-03-28
      • 1970-01-01
      相关资源
      最近更新 更多