Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafael Castelhano

Enviar estrutura de dados complexa para servidor

Recommended Posts

Olá, meu problema é o seguinte, desenvolvi parte da lógica do sistema rodando no cliente em javascript (questões de desempenho), a logica já está funcional, o que preciso fazer agora é enviar a estrutura de dados que eu gerei em javascript para o servidor para ser processado em php, e este salvar os dados no banco de dados.

 

Minha estrutura de dados no javascript (em resumo) é mais ou menos essa:

function Viagem(ciclo){
	//------------
	this.inicioHora = HORA_INICIO_OPERACAO, this.inicioMinuto = MINUTO_INICIO_OPERACAO, this.terminoHora = 0, this.terminoMinuto = 0;
...
}
function Carro(){
	this.viagens = [];
...
}

function Projeto(){
	this.projetoId, this.identificacao = "Novo Projeto";
	this.carros = [];
...
}

Nesta estrutura dentro de um projeto, tenho N carros e dentro de cada carro tenho N viagens, como faço para enviar toda essa estrutura de dados para o servidor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Formate em jSON e envie com ajax.

 

viagem = { inicio: '09h30', termino: '11h00' };
projeto = [
  carro1: { ..,
     viagens: [
       { .. },
       { .. }
    ]
  },
  carro2: { .. }
]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Formate em jSON e envie com ajax.

 

viagem = { inicio: '09h30', termino: '11h00' };
projeto = [
  carro1: { ..,
     viagens: [
       { .. },
       { .. }
    ]
  },
  carro2: { .. }
]

 

Olá novamente,

ainda não consegui finalizar este problema :closedeyes: .

 

O que eu fiz até o momento: (nunca fiz nada com ajax, estou tentando reproduzir baseado em exemplos que li na internet, se estiver errado me perdoe)

function saveProject(){
  var jsonProject = jsonConvert(projeto);
    $.ajax({
      type:'POST',
      dataType:'json',
      url:'saveProject.php',
      data: jsonProject,
      success: function(response){
        alert(response);
      }
  })
  return false;
};
	
function jsonConvert(obj){var jsonObject = JSON.stringify(obj); return jsonObject;};

o meu php:

<?php
  $obj = $_POST['owner'];

/*nem eh isso que quero fazer, tem como eu armazenar todo o json na minha variável $obj?? Como??*/
  
  //$temp = json_decode($obj);

  $file = fopen('log.txt','w');
  fwrite($file,'[inicio]'.$obj.'[termino]');
  fclose($file);
	
  return "Arquivo recebido com sucesso";
?>

Como eu disse não tenho muito conhecimento utilizando json nem ajax, se alguém puder me dar uma resposta "for newbie" agradeço :yes: .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vai no navegador e aperta F12 e veja na aba console se tem algum erro... caso não engloba o ajax com o jQuery.

$(function((){
$.ajax({
      type:'POST',
      dataType:'json',
      url:'saveProject.php',
      data: jsonProject,
      success: function(response){
        alert(response);
    }});

OBS: a variável projeto vem de onde?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vai no navegador e aperta F12 e veja na aba console se tem algum erro... caso não engloba o ajax com o jQuery.

$(function((){
$.ajax({
      type:'POST',
      dataType:'json',
      url:'saveProject.php',
      data: jsonProject,
      success: function(response){
        alert(response);
    }});

OBS: a variável projeto vem de onde?

 

Então, tenho uma estrutura de dados conforme mostrei no inicio do tópico. Quando carrega a página faço algo como var projeto = new Projeto()..... edito os dados do projeto (tudo isso funciona sem problemas), e é essa estrutura que quero enviar por ajax, não sei se consegui deixar claro. E não, não apresenta nenhum erro no console do chrome.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.