Método Ajax em jquery usando o PHP como backend

Eu tenho um arquivo de script onde o método ajax foi implementado, o que adiciona um registro a um formulário … e então eu tenho um arquivo php que serve como o backend. O que eu estou tentando dizer é que nós declaramos a variável recorde em php, nós só declaramos isso na parte jquery. Mas como nós realmente acessamos isso usando

$record = json_decode($_POST['record']); 

O que é json_decode e json_stringify no arquivo de script.

main.js

 $add_form.submit(function(e) { e.preventDefault(); var fields = ['id', 'name', 'subject', 'theory', 'practical']; var record = {}; for (var index in fields) { var field = fields[index]; if (field == 'id' || field == 'theory' || field == 'practical') record[field] = parseInt( $('input#add_'+field).val() ); else record[field] = $('input#add_'+field).val(); } record.total = record.theory + record.practical; $.ajax({ url: '/ab_batch/practice/db/action.php', type: 'POST', data: { action: 'ajaxAddRecord', record: JSON.stringify(record) }, success: function(result) { if ( 'true' == result.trim() ) { $add_modal.find('.ajax_add_result').text('Student Record Added...').css({ color: 'green', display: 'block' }).fadeOut(2500); } else { $add_modal.find('.ajax_add_result').text('Error Adding Student Record!').css({ color: 'red', display: 'block' }).fadeOut(2500); } }, error: function() {} }); }); 

action.php

 switch ($action) { case 'ajaxAddRecord': $record = json_decode($_POST['record']); print ( $student->addRecord($record) ) ? 'true' : 'false' ; break; } 

A variável de ação é declarada (criada) em main.js. Você está certo.
É um object que é usado e preenchido com valores.

O $.ajax({ bloco de código o envia stringified para action.php.
“stringified” significa convertido em uma string.
Tem que ser feito para enviá-lo para o PHP do lado do servidor porque um object (ou uma matriz) não pode ser enviado diretamente sem convertê-lo em uma seqüência de caracteres.

Então, essa string, recebeu $_POST['record'] , deve ser “descodificada” para acessar os valores.
Isto é o que json_decode faz … Ele cria uma matriz com ele.

Palavras-chave de teses do Google para mais:
jQuery object
JSON.stringify()
json_decode()
PHP array
Ajax example tutorial