Cho phép CORS trên website bằng nodeJS

Xin chào mọi người :))

Mình đang làm một website và cần lấy dữ liệu từ API của Udemy. Nhưng khi chạy AJAX để lấy dữ liệu thì bị lỗi

No 'Access-Control-Allow-Origin' header is present on the requested resource.

Đây là các đoạn code của mình:

app.js

const express = require('express');
const app = express();
const cors = require('cors');
const corsOptions = {
  origin: true
}

app.set('view engine', 'ejs');
app.get('/', cors(corsOptions) ,(req, res) => {
  res.render("./index");
});

const server = app.listen(3000, () => {
  console.log('Listening on port %s', server.address().port)
})

index.ejs

<!DOCTYPE html>
<html lang="en" dir="ltr">
   <head>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
      <meta charset="utf-8">
      <title></title>
   </head>
   <body>
      <h1>asdjg</h1>
   </body>

   <script type="text/javascript">
      let str = "https://www.udemy.com/api-2.0/courses/html-and-css-for-beginners-crash-course-learn-fast-easy?fields[course]=@min,owner,-images";
      $.get(str, function(data) {
            console.log(data);
       });
   </script>
</html>

Mọi người có cách nào để fix lỗi này không ?? Mình cảm ơn rất nhiều :))

Đưa phần get API lên server, vừa bảo mật key vừa tránh CORS.

7 Likes

Cảm ơn bạn :))) mình làm theo cách của bạn và đã được :))

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?