Почему при отправки json аяксом экранируются ковычки?
ajax.js:
send();
function send() {
let $form = $('#form');
$form.on('submit', (e) => {
e.preventDefault();
let formData = new FormData();
let obj = { name: 'Paul', age: 26 };
formData.append('nonce', zzz_ajax.nonce);
formData.append('action', 'send');
formData.append('obj', JSON.stringify(obj));
$.ajax({
type: 'post',
url: zzz_ajax.url,
data: formData,
processData: false,
contentType: false
})
.done(function(res) {
console.log(res);
});
});
ajax.php:
add_action('wp_ajax_send', 'send');
add_action('wp_ajax_nopriv_send', 'send');
function send() {
if ( ! wp_verify_nonce( $_POST['nonce'], 'myajax-nonce' ) )
die ( 'Stop!');
$obj = $_POST['obj'] ;
echo var_dump( $obj );
wp_die();
}
и вот что приходит: string(30) "{\"name\":\"Paul\",\"age\":26}".
Если декодировать json ( json_decode() ) то значением будет null.
Я так понимаю это из за того что сам объект взят в двойные ковычки, но если я такую же операцию сделаю не на вордпрессе а на тестовом серваке то json придет нормальный. Как это исправить?