Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/03/2013, 13:00
r0xdrig0
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
IE9 cachea las peticiones $.ajax con jquery

hola amigos como estan... yo aca con un problema q no logro resolver... estoy trabajando con jquery php y mysql tengo la aplicacion CRUD completa, pero mi problema es con JQuery e Internet Explorer, lo q pasa es que despues de actualizar un dato este actualiza correctamente en la tabla donde presento los datos (tabla html) pero al hacer click para volver a actualizar dicho dato nuevamente, en el formulario para editarlo me trae el valor anterior a la ultima actualizacion, este problema solo me ocurre en IE9, ya que en Firefox me funciona correctamente, aca les pego mi codigo:

Código Javascript:
Ver original
  1. //funcion actualizar con Jquery
  2.  
  3. function ActualizarDatos(){
  4.        
  5.         $.validator.addMethod("soloLetras",
  6.            function(value, element) {
  7.                    return /^[a-zA-ZáéíïóúüÁÉÍÏÓÚÜñÑ]+$/.test(value);
  8.            },
  9.    "Solo ingrese letras"
  10.    );
  11.        
  12.        
  13.         $('#frmClienteActualizar').validate({
  14.         rules: {
  15.        
  16.        
  17.         nombre1Fun : "required",
  18.         nombre2Fun: "required",
  19.         apellido1Fun: "required",
  20.         apellido2Fun: "required",
  21.         gradoFun : "required",
  22.         unidadFun: "required",
  23.         nombre1Fun: { soloLetras: true },
  24.         nombre2Fun: { soloLetras: true },
  25.         apellido1Fun: { soloLetras: true },
  26.         apellido2Fun: { soloLetras: true }
  27.        
  28.         },
  29.                
  30.                  messages: {
  31.                   nombre1Fun : "<br>Ingrese solo letras, sin espacios para el Primer Nombre Fun.",
  32.                   nombre2Fun : "<br>Ingrese solo letras, sin espacios para el Segundo Nombre Fun.",
  33.                   apellido1Fun : "<br>Ingrese solo letras, sin espacios para el Primer Apellido Fun.",
  34.                   apellido2Fun : "<br>Ingrese solo letras, sin espacios para el Segundo Apellido Fun.",
  35.                   gradoFun : "<br>Debe Indicar el Grado",
  36.                   unidadFun : "<br>Debe Indicar la Unidad"
  37.                  
  38.                  
  39.                  },
  40.                  
  41.                  errorPlacement:function(error,element){
  42.                 alert(error.text());
  43.             },
  44.        
  45.        
  46.         submitHandler: function(form) {
  47.            
  48.            
  49.         var codFun = $('#codFun').attr('value');
  50.         var nombre1Fun = $('#nombre1Fun').attr('value');
  51.         var nombre2Fun = $("#nombre2Fun").attr("value");
  52.         var apellido1Fun = $("#apellido1Fun").attr("value");
  53.         var apellido2Fun = $('#apellido2Fun').attr('value');
  54.         var gradoFun = $("#gradoFun").attr("value");
  55.         var unidadFun = $("#unidadFun").attr("value");
  56.        
  57.         //http://www.funcion13.com/2012/04/19/la-cache-en-las-peticiones-ajax-de-jquery/
  58.  
  59.         $.ajax({
  60.             url: 'actualizarFun.php',
  61.             type: "POST",
  62.             data: "submit=&nombre1Fun="+nombre1Fun+"&nombre2Fun="+nombre2Fun+"&apellido1Fun="+apellido1Fun+"&apellido2Fun="+apellido2Fun+"&gradoFun="+gradoFun+"&unidadFun="+unidadFun+"&codFun="+codFun,
  63.             async:true,
  64.             cache:false,
  65.             success: function(datos){
  66.                 alert(datos);
  67.                 ConsultaDatos();
  68.                 $("#formulario").hide();
  69.                 $("#tabla").show();
  70.             }
  71.         });
  72.         return false;
  73.     }
  74.     });
  75.         }

formulario actualizar php

Código PHP:
<?php
if(isset($_POST['submit'])){
    require(
"../include/operaciones.php");
    
//require("../include/Conectar.php");
    
$objMostrarFuncionario=new Operaciones;
    
    
$codFun $_POST['codFun'];
    
$nombre1Fun $_POST['nombre1Fun'];
    
$nombre2Fun =$_POST['nombre2Fun'];
    
$apellido1Fun =$_POST['apellido1Fun'];
    
$apellido2Fun $_POST['apellido2Fun'];
    
$gradoFun $_POST['gradoFun'];
    
$unidadFun $_POST['unidadFun'];
    
$fechaIngreso=date("y-m-d"); 
    
    
    if ( 
$objMostrarFuncionario->actualizar(array($nombre1Fun,$nombre2Fun,$apellido1Fun,$apellido2Fun,$gradoFun,$fechaIngreso$unidadFun),$codFun) == true)
    
    {
        echo 
"Datos Actualizados";
        
    }else{
        echo 
'Se produjo un error. Intente nuevamente';
    } 
}else{
    if(isset(
$_GET['idEditar'])){
        
        require(
"../include/operaciones.php");
        
$objMostrarFuncionario=new Operaciones();
        
$consultaFuncionario $objMostrarFuncionario->mostrarFuncionario($_GET['idEditar']);
        
$funcionario mysql_fetch_array($consultaFuncionario);
    
?>
    <form id="frmClienteActualizar" name="frmClienteActualizar" method="post" action="actualizarFun.php" onsubmit="ActualizarDatos(); return false">
        <table border="0" class="TablaGeneral" align="center">
                        <tr align="left" class="CeldaTitulo">
                    <td colspan="7" height="21">ACTUALIZACION DE FUNCIONARIOS</td>
                </tr>

                        <tr>
                          <td class="Estilo30">Codigo Fun.</td>
                          <td><?php echo "<strong>"$funcionario['CODIGO_FUNC']."</strong>"?><input type="hidden" name="codFun" id="codFun" value="<?php echo $funcionario['CODIGO_FUNC']?>" /></td>
                          </tr>
                          <tr>
                          <td class="Estilo30">Primer Nombre Fun.</strong></td>
                          <td><input type="text" name="nombre1Fun" id="nombre1Fun" value="<?php echo $funcionario['NOMBRE1_FUNC']?>"/></td>
                          </tr>
                          <tr>
                           <td class="Estilo30">Segundo Nombre Fun.</td>
                          <td><input type="text" name="nombre2Fun" id="nombre2Fun" value="<?php echo $funcionario['NOMBRE2_FUNC']?>" /></td>
                          </tr>
                          <tr>
                           <td class="Estilo30">Primer Apellido Fun.</td>
                          <td><input type="text" name="apellido1Fun" id="apellido1Fun" value="<?php echo $funcionario['APELLIDO1_FUNC']?>" /></td>
                          </tr>
                          <tr>
                           <td class="Estilo30">Segundo Apellido Fun.</td>
                          <td><input type="text" name="apellido2Fun" id="apellido2Fun" value="<?php echo $funcionario['APELLIDO2_FUNC']?>" /></td>
                          </tr>
                           <tr>
                           <td class="Estilo30">Grado Fun.</td>
                          <td><input type="text" name="gradoFun" id="gradoFun" value="<?php echo $funcionario['GRADO_FUNC']?>" /></td>
                          </tr>
                          <tr>
                           <td class="Estilo30">Unidad Fun.</td>
                          <td><?php //include('unidades.php') ?>
                          <select id="unidadFun" name="unidadFun">
                                 <option value="">Selecione...</option>
                                 <?php
 $con
mysql_connect("localhost","root","programador");
$bd=mysql_select_db("db_133rural",$con);
 
 
 
$CONSULTA_SECTOR "SELECT ID_UNIDAD, NOMBRE_UNIDAD FROM ta_unidad_133rural
WHERE ESTADO_UNIDAD ='ACTIVO'"
;
$RESULTADO_SECTOR mysql_query($CONSULTA_SECTOR$con) or die('NO HAY SECTORES INGRESADOS: ' mysql_error() );

while (
$row mysql_fetch_array($RESULTADO_SECTOR,  MYSQL_ASSOC)) {
  
$s = ($row["ID_UNIDAD"] == $funcionario['ID_UNIDAD'] ? "selected" "");

  echo 
"<option value='".$row["ID_UNIDAD"]."' ".$s.">".$row["NOMBRE_UNIDAD"]."</option>";
 }
  
?>
                               </select>
                          </td>
                        </tr>
                        <tr><td></td>
                        </tr>
                        
                        </table>
 
  <p align="center">
    <input type="submit" name="submit" id="button" value="Actualizar" class="Boton"/>
    <label></label>
    <input type="button" class="Boton" name="cancelar" id="cancelar" value="Cancelar" onclick="Cancelar()" />
  </p>

    </form>
    <?php
    
}
}
?>
porfavor amigos alguien si me puede ayudar/guiar con mi problema se lo agradeceria mucho amigos ... de antemano gracias.... bye