AJAX call fails when sending JSON but works with URL style string

Firstly, stringify won’t build a URL query – it serializes it into JSON object notation.

And secondly, you don’t even need to build the URL query – if you’re using jQuery to make the AJAX call, just pass the JSON object as it is – jQuery.param() will internally handle it 🙂