Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I trying to make a POST request to my REST API. Here is the code snippet (using AngularJS):

        $http({
            method: 'POST',
            url: url,
            data: reqBody,
            headers: {
                'content-type': 'application/json'
            }
        })
        .then(function (response) {...})
        .catch(function (error) {...});

According to this article, because of the HTTP header

'content-type': 'application/json'

browser concludes that it will have to make an "not-simple" HTTP request which requires handshake with a server (HTTP options request will be sent before actual HTTP request).

Chrome handles the request like a charm, but IE (11 in my case) fails with the following messages:

enter image description here

The thing is, HTTP options response contains everything the browser needs to proceed with the actual HTTP request.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
267 views
Welcome To Ask or Share your Answers For Others

1 Answer

You could add sites to Trusted zone in IE settings and set "Access data sources across domains" to Enable (not Prompt):

enter image description here

It works not only for IE 9, but 10+ as well.

More on this: https://www.webdavsystem.com/ajax/programming/cross_origin_requests


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...