Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

489
Views
Next.js Cors- How to call my Next js API from the external site

I have a next js app and am trying to call the API from external site using javascript.

https://myapi.com/api/users

Call this endpoint like the below.

$.get('https://myapi.com/api/users').then()

This throws a CORS error.

My API file (/pages/api/users/index.js)

import Cors from 'cors'

// Initialize the cors middleware
const cors = initMiddleware(
  // You can read more about the available options here: https://github.com/expressjs/cors#configuration-options
  Cors({
    // Only allow requests with GET, POST and OPTIONS
    methods: ['GET', 'POST', 'OPTIONS']
  })
)

export default async function handler(req, res) {
  // Run cors
  await cors(req, res)

  // Rest of the API logic
  res.json({ message: 'Hello Everyone!' })
}

function initMiddleware(middleware) {
  return (req, res) =>
    new Promise((resolve, reject) => {
      middleware(req, res, result => {
        if (result instanceof Error) {
          return reject(result)
        }
        return resolve(result)
      })
    })
}

Any advice? thank you!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Use this instead:

 import Cors from 'cors'

    // Initializing the cors middleware
    const cors = Cors({
      methods: ['GET', 'HEAD'],
    })

    // Helper method to wait for a middleware to execute before continuing
    // And to throw an error when an error happens in a middleware
    function runMiddleware(req, res, fn) {
      return new Promise((resolve, reject) => {
        fn(req, res, (result) => {
          if (result instanceof Error) {
            return reject(result)
          }

          return resolve(result)
        })
      })
    }

    async function handler(req, res) {
      // Run the middleware
      await runMiddleware(req, res, cors)

      // Rest of the API logic
      res.json({ message: 'Hello Everyone!' })
    }

    export default handler
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!