Pegar retorno do server e jogar em um array Jquery

Galera, buenas tardes. Estou programando um sistema ERP e preciso atualizar um combobox, que contém os nomes das empresas gerenciadas. O objetivo é que, quando o usuário clique em atualizar, atualize esse combo. Estou fazendo utilizando técnicas javascript/jquery, conforme o código abaixo: 

$("#atualiza_lista").click(function() {
			
				var flag = "true";
				var i;
				
				$.post('atualiza_nomes.php',{flag: flag},function(data){
					console.log(data);
					var returnedData = JSON.parse(data); // erro aqui
					var retorno = []; // array que recebe os dados da tabela
				
					/*for(i=0;i<data.length;i++)
					{
						retorno.push(JSON.parse(data.item + i));
					}*/		
					
				});	
				
				/*for(i=0;i<retorno.length;i++)
				{
					console.log(retorno[i]);
					
				}	*/
			
		});

A minha página php que processa e retorna, faz a busca no bd mysql, e retorna os registros no formato json: 

while($row = $consulta->fetch()) {
	//print_r($row);
	
	echo json_encode(array('item'.$i => $row["fullname"], 'error' => false));
	$i++;
}

No console.log está ok. Porém, antes de jogar no array preciso converter de volta pra poder dar um push nesse array. Alguem sabe como proceder? 

Obrigado desde já.

Pode ser que o retorno não seja parseável… Aí você terá erro na linha que informou. Tem certeza que o retorno está em formato de texto e não de objetos?

0u você pode estar reparseando algo que ja foi parseado… explico…

A função $.post do jquery possui um parametro chamado dataType no fim da assinatura…

$.post(url, requisicao, callback, dataType)...

E segundo a documentação, esse parametro se não informado é inteligente o bastante em formatar o retorno conforme informado pelo servidor… resumindo você pode estar reparseando um retorno que a função já parseou, e outra, você mesmo disse que no console está ok…

console.log(data);

Logo não há o que parsear novamente concorda?

Outra coisa, JSON.parse é muito novo, alguns navegadores podem não ter suporte para ele ainda…