Wrong Content-Type being substituted for fetch http request
<p>I have this code on client:</p>

<pre><code>return fetch('http://localhost:8080/api/authenticate', {
    method: 'POST',
    mode: 'no-cors',
    headers: {
        'Content-Type': 'application/json',
    },
    body: JSON.stringify({
        username: 'admin',
        password: 'admin',
    }),
});
</code></pre>

<p>When i send this request for some reason Content-Type is substituted to <code>text/plain;charset=UTF-8</code>. This makes my server side fail the request as it only accepts <code>application/json</code> requests. What am i doing wrong here?
I am using Chrome 51 and here is my request:</p>

<p><a href="https://i.stack.imgur.com/qLm5D.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/qLm5D.png" alt="enter image description here"></a></p>

<p>EDIT:
When I remove <code>JSON.strigify()</code> Content-Type and Request payload are also being omitted.
Here is an example:</p>

<p><a href="https://i.stack.imgur.com/lknAA.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/lknAA.png" alt="Result without JSON.stringify()"></a></p>