Since usage of the Fetch API is growing I've started to see a few people having issue with POSTing to AJAX add.js endpoint. If you're running into 400 (Bad Request) errors you might not have set the correct headers.
I've put together a very basic example of a Fetch POST so you can check the X-Requested-With headers used and then adapt it to your own code.
grabbing the JS code...