AJAX - Enviar variable definida fuera de ajax por metodo post

 
Vista:
Imágen de perfil de mikel

Enviar variable definida fuera de ajax por metodo post

Publicado por mikel (6 intervenciones) el 24/01/2015 01:37:27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//php donde recibo unas variables por post
<?php
 
$matri=$_POST['cmbpais'];
$pat=$_POST['cmbestados'];
$nat=$_POST['cmbciudades'];
$bat=$_POST['cmbciudades2'];
 
?>
//script donde convierto las variables 
<script type="text/javascript" src="jquery-1.11.0.min.js"></script>
<script language="javascript" type="text/javascript">
 
 
var ma = <?php echo $matri ?>;
var un = <?php echo $pat ?>;
var te = <?php echo $nat ?>;
var sb = <?php echo $bat ?>;
 
 
</script>
 
//ajax donde deseo enviar esas variables
<script language="javascript" type="text/javascript">
 
 
  $.ajax({
  url: 'paginador.php',
  type: 'POST',
  async: true,
  data: 'parametro1=VARIABLE&parametro2=1&parametro3=2&parametro4=2',
 
 // success: procesaRespuesta,
  //error: muestraError
 
}).done ( function( data ) {
	alert(data);
	 });
 
</script>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Enviar variable definida fuera de ajax por metodo post

Publicado por xve (222 intervenciones) el 24/01/2015 11:06:22
Que problema tienes?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de mikel

Enviar variable definida fuera de ajax por metodo post

Publicado por mikel (6 intervenciones) el 24/01/2015 19:35:19
El problema es que no puedo enviar las variables que convierto a js dentro del data de ajax.. Hasta donde las convierto todo bien , por que cuando hago un alert de la variable convertida si la imprime, pero al enviarlas a php no funciona... Que estoy haciendo mal??
Graxias de antemano!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de mikel

Enviar variable definida fuera de ajax por metodo post

Publicado por mikel (6 intervenciones) el 24/01/2015 22:13:32
Solo quiero enviar la variable que converti a js en el DATA: 'parametro1=mivariable' , pero no puedo hacerlo alguien sabe por que no funciona o como debo declarar la variable para que la envie. graxias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Enviar variable definida fuera de ajax por metodo post

Publicado por xve (222 intervenciones) el 25/01/2015 19:29:47
Ah, ok, entiendo Mikel... para envar las variables, tienes que enviarlas en formato json... algo así:
1
data: {"parametro1":VARIABLE, "parametro2":1, "parametro3":2, "parametro4":2}

http://api.jquery.com/jQuery.ajax/

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de mikel

Enviar variable definida fuera de ajax por metodo post

Publicado por mikel (6 intervenciones) el 26/01/2015 19:21:28
Muchas gracias, primero que nada por contestar , asi es ya cambie mis variables a json con stringify
y envio mis datos asi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var parametros = {
 'parametro1 : materia',
 'parametro2 : etc',
}
 
 datos =JSON.stringify(parametros);
 
 $.ajax({
  url: 'paginador.php',
  type: 'POST',
  dataType:"json"
  async: true,
  data: 'datos',
 
 // success: procesaRespuesta,
  //error: muestraError
 
}).done ( function( data ) {
	alert(data);
});

pero me sigue sin funcionar el envio de las variables, agradeceria que me ayudaran
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Enviar variable definida fuera de ajax por metodo post

Publicado por xve (222 intervenciones) el 26/01/2015 21:26:59
Hola Mikel, tienes un problema con las comillas...

Prueba así:
var parametros = {
'parametro1' : 'materia',
'parametro2' : 'etc',

}

datos =JSON.stringify(parametros);

$.ajax({
url: 'paginador.php',
type: 'POST',
dataType:"json"
async: true,
data: datos,

// success: procesaRespuesta,
//error: muestraError

}).done ( function( data ) {
alert(data);
});
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de mikel

Enviar variable definida fuera de ajax por metodo post

Publicado por mikel (6 intervenciones) el 27/01/2015 03:55:55
Graxias por tu respuesta , y pues modifique el codigo y ahora tengo esto
agarro las variables que necesito y las acomodo asi:

1
2
3
$arr = array('parametro1' => $matri, 'parametro2' => $pat, 'parametro3' => $nat, 'parametro4' => $bat);
 
$pfn = json_encode($arr);

y despues lo convierto en variable js para enviarlo

1
2
3
<script language="javascript" type="text/javascript">
ole = '<?Php echo $pfn ?>';
</script>
hasta aqui todo bien si hago un alert con esa variable me aparece asi
'{"parametro1":"1","parametro2":"3","parametro3":"10","parametro4":"32"}'; que son las variables que necesito
pero al enviarlo al php no pasa nada

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script language="javascript" type="text/javascript">
	var datos =ole;
 //alert(mat);
  $.ajax({
  url: 'paginador.php',
  type: 'POST',
  async: false,
 // data: '{parametro1:'+uno+',parametro2:'+un+',parametro3:'+u+',parametro4:'+us+'}'
  // data: {parametro1 : '1', parametro1 : '1' , parametro1 : '1', parametro1 : '1'}
   data: datos,
 
    //  data: {"parametro1" : "1", "parametro2" : "1"},
// data: "{'parametro1' = '" + uno + "' & 'parametro2' = '" + un + "' & 'parametro3' = '" + u + "' & 'parametro4' = '" + us + "'}",
 // 	alert(mat);  
 // success: procesaRespuesta,
  //error: muestraError
 
}).done ( function( data ) {
alert(data)
alert(ole)
	 });
 
</script>

Que falta que necesito hacer tal vez no esta bien declarada la variable..y tambien como debo cacharlos en php graxias te agradeceria si pudieras ayudarme no se como hacerlo,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Enviar variable definida fuera de ajax por metodo post

Publicado por xve (222 intervenciones) el 27/01/2015 06:12:59
Hola Mikel, has revisado la consola del navegador, haber si te da algún error? a simle vista parece que esta bien...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de mikel

Enviar variable definida fuera de ajax por metodo post

Publicado por mikel (6 intervenciones) el 28/01/2015 01:19:38
hola muchas gracias ya solucione esa parte lo hize asi:

1
2
3
4
5
6
7
8
9
10
11
<script language="javascript" type="text/javascript">
var uno = '<?php echo $matri ?>';
var dos = '<?php echo $pat ?>';
var tres = '<?php echo $nat ?>';
var cuatro = '<?php echo $bat ?>';
 
$.get( "paginador.php", { "parametro1": uno, "parametro2": dos ,"parametro3": tres, "parametro4": cuatro } )
  .done(function( data ) {
  //  alert( "Data Loaded: " + data );
});
</script>

todo muy bien hasta aqui...
en php si se realiza la busqueda , ahora mi problema es el siguiente, en la pagina index donde se carga este script incluyo un js llamado pageflip el cual trae informacion del php al que le acabo de enviar las variables, este php realiza una consulta a la bd y guarda el objeto json decodificado con decode,,,entonces page flip hace un getJson y trae esa informacion y la imprime pero lo que yo necesito es que cargue esa informacion pero despues de que yo le haya enviado las variables puesto que asi no logro imprimir nada .. solo me falta eso agradeceria la ayuda enormidades.

es algo asi: este es el php que recibe las variables que envie por get en el script que si me funciona

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
  require('conexioni.php');
 
 
  $matri = $_GET["parametro1"];
  $pat = $_GET["parametro2"];
  $nat = $_GET["parametro3"];
  $bat = $_GET["parametro4"];
 
 
	 echo $matri;
 
  	$Resultado=mysql_query("SELECT * FROM contenido_tiv where id_materia='$matri' and id_tema='$nat' and id_unidad='$pat' and id_subtema='$bat'",$enlace);
		$result=mysql_fetch_array($Resultado);
 
		if($result[6] != ""){
			$cuenta =($result[6]);}
			elseif($result[7] != ""){
				$cuenta =($result[7]);}
				elseif($result[8] != ""){
				$cuenta =($result[8]);}
		else{
		$men="NO EXISTEN DATOS EN ESTA BUSQUEDA!!";
echo"<script>alert('".$men."');document.location.href='paginador.php';</script>";
		}
 
		$long = strlen($cuenta);
			$ii=ceil($long/850);
			//		echo $ii;
		//$lin=$result[7];
 
  		for ($i=0; $i<=$ii-1; $i++)
  		{
    	$arrax[] =($i * 850);
		}
		$lenght=count($arrax);
 
 
		for ($j=1; $j<=$ii; $j++)
  		{
    	$array[] =($j * 850);
		}
		$lenghto=count($array);
 
 
		//echo $lenghto;
 
		for($i=0;$i<count($arrax);$i++) {
 
	for($j=0;$j<count($array[$i]);$j++) {
 
	$long1[]=substr($result[7] ,$arrax[$i],$array[$j]);
 
//echo $long1[0][0];
//echo $can[$i];
	//echo $arrax[$i];
	//echo $array[$j];
	}
			}
 
$obj= json_encode($long1);aqui esta el objeto JSON el cual es cachado en pageflip.js 	 //******--------determinar las páginas---------******//
echo $obj;
 
//$objj= json_encode($ii)		
 
  ?>
 
 
/////////////aqui esta la parte del pageflip.js
 
 $.getJSON('paginador.php',
	 {format: "json"},
	 // divContenido.innerHTML= '<img src="ajax-loader">';
	 function(data) {
	// var newArr = JSON.parse(data);
		var i = JSON.stringify(data);
		var o = JSON.parse(i);
 
		for(m=0; m<=o.length; m++){
			for(n=0; n<=[m]; n++){
 
 	 	 document.getElementsByTagName("section")[m].innerHTML = o[n];
	 	 //document.getElementsByTagName("section")[1].innerHTML = o[1];
			}
		}
		//$("#section").html(o[1]);
	 });

si logro traerla pero solo si las variables estan definidas en el archivo php por ejemplo $matri =1; etc, quiero que lleguen las variables antes de que empieze a cargar la impresion de la informacion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar