Criando uma matriz jQuery bidimensional a partir de uma matriz PHP bidimensional com AJAX

Estou usando jQuery, AJAX e PHP para atualizar o conteúdo de uma checkbox suspensa em um evento. Meu código atualmente desencadeia o evento e usa AJAX para chamar uma function PHP que vai para o database e obtém os registros associados a cada membro do menu suspenso.

Atualmente, posso retornar esta matriz bidimensional (uma matriz de registros com uma matriz de colunas em cada uma) de volta para a minha function jQuery, mas não estou com a perda de como converter a matriz em algo que eu possa usar.

Código jQuery para ligar para AJAX:

var element= $('select[name=elementName]'); var data = 'inData=' + element.val(); // Call AJAX to get the info we need to fill the drop downs by passing in the new ID $.ajax( { type: "POST", url: "ops.php", data: "op=getInfo&" + data, success: function(outData) { // WHAT DO I DO HERE TO CONVERT 'outData' INTO A 2-DIMENSIONAL jQUERY ARRAY?? }, error: function() { } }); 

Código PHP:

 $sqlResults= mysql_query("SELECT data FROM table WHERE id='".$_POST['inData']."'"); $outData = array(); // Fill the data array with the results while ($outData[]= mysql_fetch_array($sqlResults)); // echo the data to return it for use in the jQuery file echo $outData; 

O código publicado está funcionando bem – eu simplesmente não sei como ler ‘outData’ no jQuery.

Agradecemos antecipadamente por qualquer ajuda!!

JSON pode fazer o truque, mas por que não olhá-lo de outro ângulo?

Se você estiver fazendo um ping para o PHP para obter informações atualizadas, basta ter o PHP para exibir os valores das opções que deseja na sua checkbox de seleção. Em seguida, use o retorno HTML de jQuery AJAX para .html () o resultado em seu elemento selecionado.

Há algumas maneiras diferentes de esticar um gato, e gostaria de sugerir que essa abordagem muito mais fácil ganharia mais tempo para fazer mais magia jQuery.

Você já olhou para json_encode ?

 echo json_encode($outData); 

Isso o converterá em um object json que pode ser lido pelo jQuery.

você está procurando por json

 //php echo json_encode($outData); //javascript $.ajax({ type: "POST", url: "ops.php", data: "op=getInfo&" + data, dataType: "json", success: function(outData) { console.log(outData); //this will be an object just like //your php associative array }, error: function() { } }); 

jQuery não consegue ler o eco de uma matriz PHP. Use json_encode antes de json_encode lo:

  echo json_encode($outData); 

Esse é um formato que jQuery realmente pode analisar como resposta.