datos de alerta de la función de éxito de ajax, pero en el lado de php no hay datos, la matriz GET está vacía
<script type="text/javascript"> var array={ name:"amr", age:22 } array =JSON.stringify(array); $.ajax({ url :"new.php", type : "GET", data : {action:array}, success: function(response){ alert(response); }, }); </script> <?php $var =json_encode($_GET['action']); echo $var; ?>El código PHP se ejecuta en el servidor, la salida de PHP luego se envía al cliente, el cliente ejecuta JavaScript, no PHP. En su ejemplo, tiene dos páginas, ajax.php y new.php , en este ejemplo no necesita usar PHP en la página ajax.php , ya que una vez que el PHP presente en ajax.php se ejecuta en el servidor y la salida es enviado al cliente ya no cambiará.
Este código:
<?php $var =json_encode($_GET['action']); echo $var; ?> debe estar en su archivo new.php , y solo allí, ajax.php llamará desde el cliente new.php , que ejecutará su PHP y enviará la salida al cliente, una vez que tenga la salida en el cliente puede haz con él lo que quieras, por ejemplo, este puede ser el código fuente en tu ajax.php :
<script type="text/javascript"> var array={ name:"amr", age:22 } array =JSON.stringify(array); $.ajax({ url :"new.php", type : "GET", data : {action:array}, success: function(response){ /* * This will write on your page (ajax.php) the response * from the server, note that this is done with javascript, * not with PHP */ document.write(response); }, }); </script> También puede cambiar el nombre del archivo ajax.php a ajax.html , ya que no se necesita PHP en esta página.