Why am I getting an OPTIONS request instead of a GET request?

According to MDN,

Preflighted requests

Unlike simple requests (discussed above), “preflighted” requests first
send an HTTP OPTIONS request header to the resource on the other
domain, in order to determine whether the actual request is safe to
send. Cross-site requests are preflighted like this since they may
have implications to user data. In particular, a request is
preflighted if:

  • It uses methods other than GET or POST. Also, if POST is used to send
    request data with a Content-Type other than
    application/x-www-form-urlencoded, multipart/form-data, or text/plain,
    e.g. if the POST request sends an XML payload to the server using
    application/xml or text/xml, then the request is preflighted.
  • It sets custom headers in the request (e.g. the request uses a header such as
    X-PINGOTHER)

Leave a Comment