Why isn't my Fetch request sending custom headers in React-Native?

Brandon Armand

I am calling a fetch request akin to this.

fetch('https://api-endpoint.com/api',
        {
            method: "POST",
            headers: new Headers({
                'custom-header': 'custom header value'
            })
        }
     )
    .then(res=>{
        /* code */
    })
    .catch(err=>{
        /* code */
    })

But it seems that the header is not being sent to the server. The server runs on Node.js, and I am attempting to reach it with React-Native.

I have allowed "access-control-allow-origin": "*" on the server, but to no avail.

I can also reach other endpoints on the server that don't require any headers.

And lastly, I have set the headers with both new Headers() and as an object.

What exactly am I missing to allow the headers to be sent? Is there a way to see exactly what is going on with my request in react-native?

It works in postman just fine.

EDIT:

I am using the cors middleware in my server.

app.use(cors())

appConfig.init(app);
SuleymanSah

Can you add these lines before using routes and try?

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");

  res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");

  res.header(
    "Access-Control-Allow-Headers",
    "Origin, X-Requested-With, Content-Type, Accept, Authorization, custom-header"
  );

  res.header("Access-Control-Expose-Headers", "custom-header");

  next();
});

And if you are using express cors middleware, you can add allowedHeaders and exposedHeaders options.

https://github.com/expressjs/cors#configuration-options

note if these configuration replaces the default headers, you may need to add the default headers to the options.

app.use(
  cors({
    exposedHeaders: ["custom-header"],
    allowedHeaders: ["custom-header"]
  })
);

Lastly you had better to use fetch api like this to send headers:

fetch('https://api-endpoint.com/api',
  {
    method: "POST",
    headers: {
      "custom-header": "custom header value"
    }
  }
)
  .then(res => {
    /* code */
  })
  .catch(err => {
    /* code */
  })

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

Why isn't my GoLang POST request being populated with data?

My custom Mail Notification isn't sending while all the other are

Sending a custom User-Agent string along with my headers (fetch)

Fetch GET Request with custom headers ReactJS

Why isn't my custom animation working correctly?

Why isn't toLocaleDateString working in react-native (Android)?

In React Native, why isn't my icon right aligned?

Why isn't my custom Symfony validator executed?

Why isn't my function getting the result from fetch?

Why isn't my discord bot sending messages?

Why isn't my ImageBackground the same inside a TouchableOpacity in React Native?

React_Native Using Post Request with Fetch isn't work(PHP is work normaly)

Why isn't my custom launcher appearing in the dash?

Why isn't PHP sending POST request?

Why isn't my custom UICollectionViewController's GetCell method called

Why isn't Elasticsearch detecting my custom made analyzer?

ReactNative case sensitivity ignored when sending custom headers through fetch request

React Native fetch Network request failed,only use my API

Why isn't my prop logging or being passed in React Native?

Why isn't my React Form sending?

Rails 5: Why isn't my custom error message working?

How to check why my custom validator isn't working?

Sending request headers / authorization axios.post in react-native

Why isn't the post request sending cookies?

react native why my navigation shows me 2 headers?

Why Isn't My NodeJS Post Request Working? (From Django)

Why isn't my custom errorbar function working in R?

Why isn't Flex working on my custom landing page?

Why isn't my react app mapping my graphQL query?

TOP Ranking

  1. 1

    Failed to listen on localhost:8000 (reason: Cannot assign requested address)

  2. 2

    Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

  3. 3

    How to import an asset in swift using Bundle.main.path() in a react-native native module

  4. 4

    pump.io port in URL

  5. 5

    Compiler error CS0246 (type or namespace not found) on using Ninject in ASP.NET vNext

  6. 6

    BigQuery - concatenate ignoring NULL

  7. 7

    ngClass error (Can't bind ngClass since it isn't a known property of div) in Angular 11.0.3

  8. 8

    ggplotly no applicable method for 'plotly_build' applied to an object of class "NULL" if statements

  9. 9

    Spring Boot JPA PostgreSQL Web App - Internal Authentication Error

  10. 10

    How to remove the extra space from right in a webview?

  11. 11

    java.lang.NullPointerException: Cannot read the array length because "<local3>" is null

  12. 12

    Jquery different data trapped from direct mousedown event and simulation via $(this).trigger('mousedown');

  13. 13

    flutter: dropdown item programmatically unselect problem

  14. 14

    How to use merge windows unallocated space into Ubuntu using GParted?

  15. 15

    Change dd-mm-yyyy date format of dataframe date column to yyyy-mm-dd

  16. 16

    Nuget add packages gives access denied errors

  17. 17

    Svchost high CPU from Microsoft.BingWeather app errors

  18. 18

    Can't pre-populate phone number and message body in SMS link on iPhones when SMS app is not running in the background

  19. 19

    12.04.3--- Dconf Editor won't show com>canonical>unity option

  20. 20

    Any way to remove trailing whitespace *FOR EDITED* lines in Eclipse [for Java]?

  21. 21

    maven-jaxb2-plugin cannot generate classes due to two declarations cause a collision in ObjectFactory class

HotTag

Archive