node-XMLHttpRequest icon indicating copy to clipboard operation
node-XMLHttpRequest copied to clipboard

Different behaviour in browser and node.js with setRequestHeader("Accept")

Open mmmm1998 opened this issue 7 years ago • 0 comments

https://github.com/driverdan/node-XMLHttpRequest/blob/e558b12214b134942eba13d24c79025f4850f27b/lib/XMLHttpRequest.js#L42 I have different behaviour in browser and node. I think, that is bad for "reuse of code" project target. For example, in Mozilla Firefox (57.0.4) and Chromium (63.0.3239.84 Built on Ubuntu , running on Ubuntu 16.04) result of

var req = new XMLHttpRequest(); 
req.open("GET", "http://eloquentjavascript.net/author", false); 
req.setRequestHeader("Accept", "application/json") 
req.send(null); 
console.log(req.responseText);

was { "name": "Marijn Haverbeke", "email": "[email protected]", "website": "http://marijnhaverbeke.nl" } But, if i use node (v9.4.0)

var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest
var req = new XMLHttpRequest();
req.open("GET", "http://eloquentjavascript.net/author", false);
req.setRequestHeader("Accept", "application/json")
req.send(null);
console.log(req.responseText);

result was My name is Marijn Haverbeke. You can email me at [email protected], or visit my website, http://marijnhaverbeke.nl . Maybe make variable defaultHeaders public (this.defaultHeader)? It don't change API, but programmers can change default headers before open request, if they want (i check, it works).

mmmm1998 avatar Jan 21 '18 14:01 mmmm1998