JavaScript: set Accept: and Content-Type: headers in request

When a JS client communicates with a backend supporting several encodings, knowing which protocol to use is a bit kludgy. This patch tries to fix that by always setting the Accept: and Content-Type: request headers to "application/json".