首页 > 解决方案 > 将 JSON / Ajax 传递给 PHP 变量的问题

问题描述

我在跨度的 id 中捕获 JSON / Ajax 响应,好吧。但我无法将响应保存在 PHP 变量中。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript">
$("#enviar").click(function(e) {
	e.preventDefault();
	var nombre = $("#nombre").val(),
	apellido = $("#apellido").val(),
	edad = $("#edad").val(),

	datos = {"nombre":nombre, "apellido":apellido,"edad":edad};

	$.ajax({
		url: "procesa.php",
		type: "POST",
		dataType: 'json',
		data: datos
	}).done(function(respuesta){
		if (respuesta.estado === "ok") {
			 $('#myName').text(respuesta.nombre);
             $('#myApellido').text(respuesta.apellido);
             $('#myEdad').text(respuesta.edad);
		}
	});
});
</script>
<form id="form">
<input type="text" id="nombre" placeholder="Nombre" accept="text/plain"><br><br>
<input type="text" id="apellido" placeholder="Apellido" accept="text/plain"><br><br>
<input type="number" id="edad" placeholder="Edad" accept="text/plain">

<input type="submit" id="enviar" value="Enviar">
</form>

答案在 span 的 id 中打印得很好,但是在我尝试的所有 POST 选项中,没有打印任何内容。

<p>Name: <span id="myName"></span></p>
<p>Apellido: <span id="myApellido"></span></p>
<p>Edad: <span id="myEdad"></span></p>
<?php
echo $_POST["nombre"]; //Key json, nothing is printed.
echo $_POST["myName"]; //Name of var response, nothing is printed.
echo $_POST["respuesta.nombre"]; //Anothe json, nothing is printed.
$character = json_decode($respuesta);
echo $character->nombre; //nothing is printed. desperation
?>

过程.php

header('Content-Type: application/json');
//Guardamos los datos en un array
$datos = array(
'estado' => 'ok',
'nombre' => $nombre, 
'apellido' => $apellido, 
'edad' => $edad
);
//Devolvemos el array pasado a JSON como objeto
echo json_encode($datos, JSON_FORCE_OBJECT);

有人能帮我吗?

标签: phpjqueryarraysjsonajax

解决方案


最后,没有人给出正确答案。如果有人问一个问题,那是因为他们不知道答案,并且应该在这里他们可以得到帮助,只有极少数人关心理解问题并尝试提供一些解决方案,但也有其他人认为他们是代码的聪明/天才,他们只批评,他们不贡献任何东西。


推荐阅读