tengo un problema que no logro resolver referente a JSON, PHP y Javascript.
El problema consisten en que desde javascript envio un array JSON a PHP y en php al utilizar la funcion decode() me devuelve un valor null como respuesta.
primero, como empaqueto y envio desde javascript :
Código:
codigo php de como obtengo y manipulo lo que me llega desde Javascriptvar estructuraJSONN = '{"nombre":"brais"}'; var estructuraParseadaJSON = JSON.parse(estructuraJSONN); var estructuraNativaJSON = JSON.stringify(estructuraParseadaJSON); var Qn = "Qn=" + encodeURIComponent(estructuraNativaJSON); // Qn significa consulta nombre var request = ObjectDeusExMachina.ObjectHttpRequest.loadHttpRequest(); // llamo a la instancia de XMLHttpRequest() var url = " *** " // oculto la direccion por movitos obvios request.open("POST", url,true); request.setRequestHeader("Content-type", "application/x-www-form-urlencoded", true); request.send(Qn); console.log(estructuraNativaJSON); // hago un console.log para ver lo que estamos enviando request.onreadystatechange = function(){ if( request.readyState == 4 ) { if( request.status == 200 ) { var respuesta = request.responseText; console.log(request.responseText); // otro console.log para ver lo que nos devuelve PHP } }
Código PHP:
Ver original
<?php $requestName = $_POST['Qn']; // obtenemos lo que hemos enviado desde Javascript $salida = json_encode($requestNameDedoce); // al usar decode y encode deberia de enviarse el mensaje tal y como llego es decir decodificamos obtenemos un objeto json y volvemos a codificar para enviar un array JSON echo $salida; // en el segundo console.log veo que me devuelve null ?>
Aparentemente, al menos para mi, el codigo expuesto deberia funcionar y devolvernos el mismo array json que enviamos, en vez de eso obtengo un valor null como responseText ¿que estoy haciendo mal?