Browser XMLHttpRequest considers Date an unsafe header and will reject it.  Use X-Amz-Date.