问题
I need to pass UserID
as request header but I am not able to pass it with the request headerin the cross domain url.
Below is the screenshot for the Ajax Request in which I am getting the Accept-Control-Request-Header : UserID
but when I pass it using the $.ajax() headers option; it not not shown in the Headers Tab
of Firebug
I also tried the beforeSend
option but no progress.
Below is the sample code which I have used,
headers: {'UserID': 12345 },
dataType: 'jsonp',
crossdomain: true,
beforeSend: function (request) {
request.withCredentials = true;
request.setRequestHeader("UserID", "1");
request.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
request.setRequestHeader("Access-Control-Allow-Origin", "*");
},
And I have referred all the below SO Urls,
- jQuery JSONP ajax, authentication header not being set
- Can I set headers in cross domain json requests?
- Modify HTTP Headers for a JSONP request
Is there a way to show the request headers in the Firebug Headers tab
or it is the Server Side Security which blocks the request header.
回答1:
Finally, I got the solution.
There was no error at my end(client end). Actually the error was from server side, which was not allowing me to send headers. Allowing cross origin request parameters at server end the problem is solved.
来源:https://stackoverflow.com/questions/28739891/send-headers-in-cross-domain-request-from-ajax