Cómo cargar un script PHP en div Misma ventana en JQuery

Tengo error: datos no definidos. Me gustaría actualizar el contenido desde un script php que imprima html

Mi página principal:

<body>
variables ...
 <div id="comparateur2">
....
</div>

Javascript:

<script type="application/javascript">
$(document).ready(function(){
$("form").submit(function(e){
var format = $("#format").val();
var qtephotos = $("#qtephotos").val();
var option1 = $('input[name=option1]:checked', '#formulaire').val();
var offre = $('input[name=offre]:checked', '#formulaire').val();    
var val = [];
    $(':checkbox:checked').each(function(i){
        val[i] = $(this).val();
    });
var dataString =  'format='+ format + '&qtephotos=' + qtephotos + '&option1=' + option1 + '&valoption=' + val; 
$.ajax ({
type: "POST",
url: "scripts/ajax_comparateur.php",
data: dataString,
success: function(){
        $('#comparateur2').html(data);
    }
});     
 });
});
</script>

saludos

preguntado el 27 de julio de 12 a las 18:07

3 Respuestas

Si su secuencia de comandos PHP realmente está funcionando para devolver datos, entonces debe actualizar su llamada exitosa a:

success: function(data){
        $('#comparateur2').html(data);
}

El parámetro de datos faltaba en los argumentos de la función.

Respondido 27 Jul 12, 18:07

Te estás perdiendo dataType: y parámetro de datos en el function()

sin dataType, todo lo que se devuelva será ignorado, y sin datos en la función, todo lo que se devuelva será inutilizable.

$.ajax ({
type: "POST",
url: "scripts/ajax_comparateur.php",
data: dataString,
dataType: "html",
success: function(data){
        $('#comparateur2').html(data);
    }
});   

Respondido 27 Jul 12, 18:07

Eso está mal. Si no se pasa ningún parámetro de tipo de datos, "jQuery intentará deducirlo en función del tipo MIME de la respuesta (un tipo XML MIME generará XML, en 1.4 JSON generará un objeto JavaScript, en 1.4 el script ejecutará el script, y cualquier cosa de lo contrario, se devolverá como una cadena)." - j08691

Te daré eso, no recuerdo eso la mayoría de las veces, ya que tiendo a trabajar con JSON o cadenas simples. Lo que me deja sin nada con qué trabajar cuando olvido el tipo de datos, tiendo a evitar XML, lo que me lleva a olvidar que jQuery intentará leerlo como XML. - Chris

No está creando la función anónima para aceptar los datos devueltos como parámetro. La variable de datos no existe dentro del alcance de su función.

Entonces, en lugar de function() poner function(data).

Respondido 27 Jul 12, 18:07

Esto ya se mencionó en otra respuesta enviada antes de la suya. - alex w

Claro, por unos segundos. No vi la otra respuesta hasta que envié la mía. - Autonomía

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.