Прежде всего вы можете избежать такой структуры:
{first_name: $('[name=first_name]').val(), last_name: $('[name=last_name]').val(), email: $('[name=email]').val()}
С помощью встроенного в jQuery метода сериализации:
$.serialize(this)
Насколько вы уже указали "json" в качестве ответаПеременная типа «данные» будет содержать уже не сериализованный объект JSON.
В части сценария php вам нужно сделать следующее:
echo json_encode($_POST);
exit();
Конечно, вам нужно изменить суперглобальный $ _POST с вашим массивом / объектом результата, я использовал его для демонстрационной целив строке сценария выше.
Очевидно, что переменная $ _POST содержит данные, переданные из запроса Ajax, такая переменная доступна в любой области видимости в скрипте PHP.