Cómo pasar un valor a un script PHP usando AJAX

Tengo la sensación de que el script PHP está encontrando un error fatal en conn.php y no continúa después del error. Me aseguraría de que la función de informe de errores de PHP y de errores de visualización esté configurada en su archivo de configuración de PHP.

Dicho esto, probé su código sin incluir la conexión de la base de datos y la consulta. Entonces sabemos que el servidor está recibiendo el valor POSTed.

Pruébalo con el siguiente código:

JavaScript

  
   $ (function () {
     $ .ajax ({
       tipo: "POST",
       url: 'AjaxCallTest.php',
       datos: ({Imgname: "13"}),
       éxito: función (datos) {
         alerta (datos);
       }
     });
   });
 

PHP

   

Asegúrese de utilizar la familia de funciones mysqli * de forma segura. La familia de funciones mysqli * admite la parametrización de entrada, esta característica protege su aplicación web contra el ataque de inyección SQL: inyección SQL – OWASP

Hoja de trucos de prevención de inyección SQL

Remisión de publicaciones: -www.scanfcode.com

Pasar datos al script php usando Ajax: aquí usaremos j query para obtener datos de las entradas y luego crearemos un método Ajax para pasar datos al script php (solicitud asincrónica).

Se demanda a Ajax para enviar datos asincrónicamente a un script. Por asíncrono queremos decir que el usuario puede continuar haciendo otras tareas en el front end hasta que se ejecute el script. El usuario no necesita esperar la respuesta.

Pasar datos a la secuencia de comandos php usando Ajax -steps

  1. Crear un formulario

El atributo type se establece en button , porque vamos a enviar datos utilizando una función de forma asincrónica. Establecer type = “submit” provocará la transferencia síncrona de datos y también la recarga o redireccionamiento de la página.

2. Obteniendo valores de entrada usando jQuery

función submit_form ()

{

var data1 = $ (“# uname”). val ();

var data2 = $ (“# pwd”). val ();

}

3.Construcción del método $ .ajax () para enviar datos al script php

Este método se utiliza para realizar solicitudes asincrónicas. Todos los métodos jQuery Ajax utilizan la función ajax ().
Sintaxis:

$ .ajax ({nombre: valor, nombre: valor, …})

la función será:

función submit_form ()

{

var data1 = $ (“# uname”). val ();

var data2 = $ (“# pwd”). val ();

var dataTosend = ‘user =’ + data1 + ‘& pwd =’ + data2;

$ .ajax ({

url: ‘add-user.php’,

tipo: ‘POST’,

datos: dataTosend,

asíncrono: cierto,

éxito: función (datos) {

alerta (datos)

},

});

}

Aquí:
add-user.php es el script php para manejar la solicitud.
var dataTosend='user='+data1+'&pwd='+data2; es la variable que contiene la forma en que los datos se envían realmente al servidor. Supongamos que user = scanfcode & pwd = 123456 serían los datos enviados de acuerdo con los valores.
Los nombres “usuario” y “pwd” en la consulta anterior se utilizarán para obtener estos datos en el script php.

4.Creando el script del controlador php

Deje que los datos recibidos sean user = scanfcode & pwd = 123456 .
Utilizaremos el método post para obtener datos, ya que el tipo de solicitud de datos es post.

$ usuario = $ _ POST [‘usuario’];

$ pwd = $ _ POST [‘pwd’];

// ahora estos datos se pueden usar para cualquier función.

// Incluso se puede agregar esto a la base de datos.

// Simplemente haremos eco de los datos.

echo “nombre de usuario =”. $ usuario. “contraseña =”. $ pwd;

?>

para más programas: –

http://www.scanfcode.com

Si desea usar JS puro para pasar el valor a través de AJAX, a continuación se muestra el código

  if (window.XMLHttpRequest) {
   xmlhttp = new XMLHttpRequest ();
   xmlhttp.onreadystatechange = function () {
     if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
       alerta ('formulario enviado');
     }
   };
   xmlhttp.open ("POST", "phpcodes / AjaxCallTest.php", verdadero);
   xmlhttp.send ("Imgname = 13");

use $ value_name = $ _GET [‘value_name’] o $ value_name = $ POST [‘value_name’] en su código PHP.

En jQuery, usaría una llamada ajax a esa página o archivo de controlador de la siguiente manera: $ .ajax ({url: url_param, data: {‘value_name’ = ‘value’}, dataType: ‘json’, type: ‘GET / POST ‘});

Tengo la sensación de que el script PHP está encontrando un error fatal en conn.php y no continúa después del error. Me aseguraría de que la función de informe de errores de PHP y de errores de visualización esté configurada en su archivo de configuración de PHP.

Dicho esto, probé su código sin incluir la conexión de la base de datos y la consulta. Entonces, sabemos que el servidor está recibiendo el valor publicado.

Más ayuda en esta entrevista AJAX Preguntas y respuestas .

Debe verificar estos con una demostración de trabajo cómo seleccionar, previsualizar, renombrar y cargar imágenes usando php y jquery Ajax | Whats-online.info.

Estas publicaciones me ayudaron a crear un selector de archivos clásico que permite enviar un archivo al servidor sin cargar la página. Creo que este es un buen artículo para ti

$ _GET en su lugar $ _POST, con ajax en realidad está enviando un parámetro GET a una url, $ _POST solo funciona si el navegador requiere que vuelva a cargar.

Por otra parte, incluir `conn.php` cada vez que ejecuta su script disminuirá su rendimiento, y la ruta ni siquiera es relativa. ¿Es esto solo un código de prueba?

si necesita la salida (si es html, por ejemplo) en la misma página, la mejor opción sería usar $ (“div”). load (“your_url.php? your_var =” + your_var_value);

donde “div” es la etiqueta div en la que está cargando el html procesado.

Pruebe este método: jQuery API Documentation

prueba esto

  $ .ajax ({
                 método: "POST",
                  url: "phpcodes / AjaxCallTest.php",
                   datos: {Imgname: "13"},
                 éxito: función (datos)
                       {
                           alerta ("datos enviados");
                       },
                    error: función (datos)
                         {
                            alerta ("Error al enviar datos");
                          }
                                }); 

Editar: lee mal tu código. A continuación sigue siendo válido.

Me imagino que estás practicando / aprendiendo, pero por favor lee sobre desinfección. Su script actual es muy inseguro.