Simple jQuery AJAX Request fails to run PHP Script

A simple answer to your question is that you have the data type as JSON in your ajax request and you are passing a string in it. You need to pass a json object in the ajax request when you chose dataType equals to JSON. A JSON object is typically a key pair value inside curly braces. Here is a reference where you can see how ajax requests can be implemented in WordPress.

https://www.smashingmagazine.com/2011/10/how-to-use-ajax-in-wordpress/
https://stackoverflow.com/questions/14185582/creating-an-ajax-call-in-wordpress-what-do-i-have-to-include-to-access-wordpres

Check the data inside the ajax function. You will need to verify your json before sending it to the server so that there wont be any issues further. Also you will need to decode the json on the PHP server side. Then only you will be able to manipulate the data in your PHP code. May be an alternative way for you is that you can make a request without datatype json and you will get the post values in your PHP code making it easy to use. Check the below link for reference.

http://www.makeuseof.com/tag/tutorial-ajax-wordpress/