cómo pasar una variable jquery a php y luego mostrarla

Problema al pasar la variable Jquery a php.

Cuando paso la identificación variable a B.php este error

 "Notice: Undefined index: id1 in C:\xampp \htdocs\PhpProject1\OtherUsableItems\B.php on line 2 

Cómo resolver este problema ???? Este A.php

     $(document).ready(function(){ var id = 23; $("#submit").click(function(){ $.post("B.php", { id1: id, } ); }); });    

Este B.php

   

Quiero que la variable de identificación pase a B.php

Prueba este:

       

Entonces B.php

 < ?php $a =isset($_POST['id1'])?$_POST['id1']:'not yet'; echo $a ; ?> 

Intente cambiar el tipo de entrada al botón en lugar de enviar

El problema es que su formulario es enviado, $.post es para ajax sumit. Para eso, debe evitar el envío de formularios.

  

Agregar event.preventDefault(); en su botón haga clic en función

Use un campo oculto para establecer el valor que desea enviar. Como está utilizando enviar, se envía todo su formulario. El campo oculto también se envía y se puede acceder directamente usando el nombre del campo oculto.

Un e_NOTICE es lanzado por php porque el índice de POST-Array no existe. Puede cambiar el error_reporting de avisos, consulte http://www.php.net/manual/de/errorfunc.configuration.php#ini.error-reporting o verifique si el índice existe:

 if( isset($_POST['id1']) ) { // do something } 
 $(document).ready(function(){ var id = 23; $("#submit").click(function(e){ $.post("B.php", {id1: id} ); e.preventDefault(); }); }); 

Prueba el código de arriba. Primero: JS no permite hacer algo como esto: {id1: id,} (ver la coma al final). Esa es una característica de PHP. En realidad, su código JS no debe ejecutarse en absoluto porque es un error de syntax (supongamos que lo encontrará en la consola de su navegador)

Otro problema: debe evitar el envío predeterminado de un formulario. e.preventDefault() es necesario para eso. Sin él, se iniciará la publicación de ajax y se producirá el envío habitual de la forma. Y su formulario no tiene ningún elemento con el nombre id1, suponga que la segunda solicitud produce ese mensaje de error.

EDITAR: Esto es para publicar un valor con el envío regular, por lo que el navegador se redirige a B.php

 $(document).ready(function(){ var id = 23; $("#submit").click(function(){ $(this).closest("form") .append($("", {"type":"hidden", "name":"id1", "value":id})); }); }); 

Prueba este código,

        

Aquí puede pasar el valor de ‘id’ a B.php, y tendrá acceso como $ _POST [‘id1’]

Prueba esto:

  

Dado que está utilizando la función ajax, debe detener la función de envío de formulario. Usted tiene una coma al final aquí {id1 : id,} este es un problema en los navegadores IE pero los últimos otros navegadores funcionarán bien.

Nota:

Has publicado este error:

"Notice: Undefined index: id1 in C:\xampp \htdocs......

No ejecute la página en el sistema de archivos $.post() no funcionará de esta manera.

En su lugar, intente utilizar http://localhost/yourapplication/page.php

O puede usar submit () de esta manera

 $(function(){ var id = 23; $("#myform").submit(function() { $.post("B.php", { id1: id }).done(function(data) { alert( data ); }); return false; //true(post form data) }); }); 

Y forma

 

EDITAR: Ah y sí para B.php isset check o error_reporting (0);

 if(isset($_POST['id1'])){ print_r( $_POST ); }