| |||
![]() Saludos amigos, es mi primera vez por aquí. Tengo un formulario que envía los valores del mismo a través de ajax a un archivo llamado common.php que es el que se encarga de hacer el insert de los datos en la tabla. Luego que hace el insert, necesito enviar un objeto devuelta con la función json_encode() para entonces recibir ese objeto como callback en el archivo JS. El problema es que cuando envío el objeto json, también me envía el encabezado HTML y solo necesito enviar el objeto, no cadenas HTML. He intentado de mil formas y no tengo exito. Gracias de antemano! |
| |||
Respuesta: Como evitar cadenas HTML al enviar un objeto json_encode Podrías al menos indicar las mil formas que has intentado para no darte un consejo repetido... como por ejemplo usar strip_tags() |
| |||
Respuesta: Como evitar cadenas HTML al enviar un objeto json_encode Gracias por tu pronta respuesta, tienes razón debo decir las cosas que he intentado: Ya habia intentado con la función ya dicha strip_tags(), intenté cambiando el Content del header a tipo text/plain, a tipo json, intenté con la función header("Content-type: text/plain"), Intenté poniendo las etiquetas <head> en otro archivo aparte utilizando luego include(), entre las que recuerdo, y con ninguna tuve exito. Si de lo antes mencionado hay algo que estoy haciendo mal se lo agradeceré. Lo que me está raro es que ya tengo un proyecto basicamente igual y me funciona a la perfección. Gracias de antemano. |
| |||
Respuesta: Como evitar cadenas HTML al enviar un objeto json_encode Publica tu código, para hacerse mejor la idea, aunque si dices que ya tienes algo funcionando bien, aunque no das más detalles me inclino a que si tienes el script en un servidor gratuito, éste esté agregando datos a la salida, como publicidad o cosas así. |
| |||
Respuesta: Como evitar cadenas HTML al enviar un objeto json_encode Tienes razón, debo explicar mejor. Trabajo local. El objetivo de mi codigo es subir un archivo de diferentes tipos de formatos de videos. Se abre una ventana bootstrap para el formulario de subida de archivo. Una vez llenado y enviado, envia los parametros juntos con el archivo a traves de jquery al archivo common.php que se encarga de hacer la subida de archivo y el INSERT. Luego debe enviar el "json object" para poder saber si el archivo fue subido correctamente. Si el archivo fue subido correctamente se supone que cierre la ventana modal bootstrap. El archivo common.php lo unico que tiene en el header es: echo '<script src="controller.php"></script>'; Cuando verifico el json que envía, envía esto: <script src="controller.php"></script>{verify: 1} Código JS controller.js: //Insert $("#frmAddChapter").submit(function(event){ event.preventDefault(); var title = $("#chtitle").val(); var page = 'common.php?call=addChapter&title=' + title; var formData = new FormData($("#frmAddChapter")[0]); if (title == ""){ $("#chtitle").css("background", "#fcd41b"); }else{ $.ajax({ url: page, type: 'POST', // Form data //datos del formulario data: formData, //necesario para subir archivos via ajax cache: false, contentType: false, processData: false, success: function(data){ response = jQuery.parseJSON(data); if(parseInt(response.verify) == 0){ alert("No Fue Subido"); }else{ alert("Correcto"); $('#myModal').modal('hide'); $('#myModal').on('hidden.bs.modal', function () { stepbystep(2); }); } } }); } }); Código PHP common.php: /************************File Upload*************************/ $user = $_SESSION["username"]; $path = '../usersfiles/' . $user; if (!file_exists($path)) { mkdir($path); } //Detalles del archivo $file = $_FILES['file']['name']; //Nombre oroginal $filetype = $_FILES["file"]["type"]; // Tipo $filesize = $_FILES["file"]["size"]; //Tamaño $file_no_space = str_replace(' ', '', $file); //Nombre sin espacios en blanco $ext = substr(strrchr($file_no_space,'.'),1); //Extension $length = rand(5, 30); $randomString = substr(str_shuffle("0123456789abcdefghijklmnopqrst uvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length); $finalname = time() . $randomString . "." . $ext; $accept = array( "mp4", "webm", "ogg", "flv", "mpg", "mov", "mpeg", "wmv", "avi", "jpg" ); $type = array( "video/mp4", "video/webm", "videl/ogg", "video/flv", "video/mpg", "video/mov", "video/mpeg", "video/wmv", "video/avi", "image/jpg" ); $mega = array( "m50" => 52428800, //50M "m100" => 104857600, //100M "m200" => 209715200 //200M ); if (in_array($ext, $accept)) { //if (in_array($filetype, $type)) { if($filesize < $mega["m200"]){ move_uploaded_file($_FILES['file']['tmp_name'], $path. "/". $finalname); } //} } if(file_exists($path. "/". $finalname)){ echo json_encode(array("verify" => 1)); }else{ echo json_encode(array("verify" => 0)); } /************************End File Upload*************************/ |
| |||
Respuesta: Como evitar cadenas HTML al enviar un objeto json_encode Me falto colocar el INSERT pero lo podemos obviar, se encuentra despues que termina la función completa de subida de archivo. |
| |||
Respuesta: Como evitar cadenas HTML al enviar un objeto json_encode tal vez necesites indicar explícitamente el tipo de salida con header('Content-type: application/json'); al inicio de tu archivo php |
| |||
Respuesta: Como evitar cadenas HTML al enviar un objeto json_encode Feliz año nuevo, lo intente con header('Content-type: application/json'); al inicio del archivo y no me envía los parametros al archivo common.php. |
Etiquetas: |