I have a javascript code to be used for api (ajax) and I need to send header "date" to api-server (required header), but chrome tells me 'refused to set unsafe header "Date" ' and I get response from api-server like "missing required http date header".
I'm using jquery.
code sample:
var d = new Date();
var headers = {};
headers["Date"] = d.toUTCString();
jQuery.ajax({
url: '<some HTTPS url>'
type: "get",
crossDomain: true,
headers: headers,
....
})
the same code works fine in firefox. does anybody have any ideas how to fix it?
Yeah Chrome must refuse your request because the standard says:
Terminate these steps if header is a match for one of the following headers: [...]
- Date
Reference: http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader-method
You can't. Since you are sending a XHR request it MUST be terminated according to the standard when you set a whole list of prohibited headers:
http://www.w3.org/TR/XMLHttpRequest2/#the-setrequestheader-method
You'll need to proxy through your originating url or some other work around.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With