Foros del Web » Programando para Internet » Javascript »

pasar datos json a php

Estas en el tema de pasar datos json a php en el foro de Javascript en Foros del Web. Buenas noches he intentado pasar los datos de un formulario mediante json a php pero al parecer en php siempre recibo un objeto vacio. el ...
  #1 (permalink)  
Antiguo 26/05/2013, 23:50
 
Fecha de Ingreso: abril-2013
Mensajes: 9
Antigüedad: 11 años
Puntos: 0
pasar datos json a php

Buenas noches he intentado pasar los datos de un formulario mediante json a php pero al parecer en php siempre recibo un objeto vacio.

el codigo js es el siguiente:

Código:
function actualizar(){
				var enviar={
				"tipo":document.getElementById("tipo").value,
				"alcance":document.getElementById("alcance").value,
				"defecto":document.getElementById("defecto").value,
				"circuito":document.getElementById("circuito").value,
				"sector":document.getElementById("sector").value,
				"kvas":document.getElementById("kvas").value,
				"kms":document.getElementById("kms").value,
				"clientes":document.getElementById("clientes").value,
				"causa":document.getElementById("causa").value,
				"equipoa":document.getElementById("equipoa").value,
				"equipoc":document.getElementById("equipoc").value,
				"duracion":document.getElementById("duracion").value,
				"ttik":document.getElementById("ttik").value,
				"fmik":document.getElementById("fmik").value,
				"direccion":document.getElementById("direccion").value
				};
		$.ajax({
			   type: "POST",
			   dataType: "json",
			   url: "actualizar.php",
			   data: enviar,
			   success: function(data){
			   }
			 });
	}
</script>
y en php utilizo el siguiente codigo para obtener los datos pero al parecer esta vacio, no se si estoy haciendo algo mal:

Código PHP:
$data json_decode($_POST['enviar']); 
  #2 (permalink)  
Antiguo 27/05/2013, 08:43
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: pasar datos json a php

Código:
function actualizar(){
				var enviar={
				tipo:document.getElementById("tipo").value,
				alcance:document.getElementById("alcance").value,
				defecto:document.getElementById("defecto").value,
				circuito:document.getElementById("circuito").value,
				sector:document.getElementById("sector").value,
				kvas:document.getElementById("kvas").value,
				kms:document.getElementById("kms").value,
				clientes:document.getElementById("clientes").value,
				causa:document.getElementById("causa").value,
				equipoa:document.getElementById("equipoa").value,
				equipoc:document.getElementById("equipoc").value,
				duracion:document.getElementById("duracion").value,
				ttik:document.getElementById("ttik").value,
				fmik:document.getElementById("fmik").value,
				direccion:document.getElementById("direccion").value
				};
		$.ajax({
			   type: "POST",
			   dataType: "json",
			   url: "actualizar.php",
			   data: {enviar:JSON.stringify(enviar)},
			   success: function(data){
			   }
			 });
	}
</script>
El dataType del Ajax de jquery es para decir el tipo de formato de los datos que te devuelve el PHP; indicar el tipo de dato que envias no tiene sentido. Será el PHP el que actúe sabiendo el formato que recibirá, igual que tú usas dataType porque sabes qué formato esperas. En ese caso, el objeto DATA del SUCCES será un objeto JSON, o el ajax dará un error (y se ejecutará su método error en vez del success).

Última edición por marlanga; 27/05/2013 a las 08:49
  #3 (permalink)  
Antiguo 27/05/2013, 08:54
 
Fecha de Ingreso: abril-2013
Mensajes: 9
Antigüedad: 11 años
Puntos: 0
Respuesta: pasar datos json a php

ok, ahora en php recibo bien los datos pero al intentar acceder a ellos siempre me salen vacios, el codigo php es este:

Código PHP:
<?php

$data 
json_decode($_POST['enviar'], true);
var_dump($data);
$conexion mysql_connect("localhost","root","admin");
if(!
$conexion){
die(
'No he podido conectar: '.mysql_error());
}

$numero$data["tipo"];
$letra $data["equipoa"];

mysql_select_db("interrupciones",$conexion);
$peticion mysql_query("insert into prueba1 (numero,letra) values('".$numero."','".$letra."')");

mysql_close($conexion);
?>
hago ese insert para ver si estoy recibiendo bien los datos y siempre salen vacio

Etiquetas: ajax, formulario, js, json, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:59.