Pregunta

Tengo una simple lista de registros en una tabla HTML con un enlace de eliminación para cada fila. El enlace borrar dispara fuera una solicitud POST AJAX a una URL fija que se parece a: "/delete/record/5"

La petición AJAX se crea usando la llamada .ajax() de jQuery con un mensaje POST cuando se ejecuta en un servidor que utiliza https. Esta llamada falla en Firefox 3 en arquitecturas OSX / Windows. Funciona en todos los otros navegadores que he probado (OSX / Windows:. Chrome, Safari, Internet Explorer 7)

Las solicitudes son procedentes de un sitio HTTPS e ir al mismo sitio https. Pero creo que en algún momento durante el proceso de la solicitud original comienza como http y hay un intento de redireccionamiento en nuestro servidor para enviarlo desde HTTP-> https y Firefox, rechaza que redirigen como algún tipo de falsificación.

¿Alguien ha tenido experiencia haciendo .ajax() jQuery hace un llamamiento a un sitio HTTPS con Firefox? Me he dado cuenta de algo extraño en el que si la solicitud tiene "?var=xxx" argumentos en la URL, la petición parece funcionar más a menudo entonces si no tiene esas variables.

¿Fue útil?

Solución

parece que estás recibiendo un error HTTP 411. . Este error puede ocurrir si usted está enviando una solicitud POST sin ningún data.

Para solucionar este problema, agregue un objeto vacío ({}) a la propiedad data a sus peticiones:

$.ajax({ 
    url: url, 
    type: 'POST', 
    data: {}, // <- set empty data 
    success: function(data, textStatus) { 
        // do something 
    } 
}); 

Otros consejos

Esto parece poco probable ... no es que yo lo estoy dudando. Pero sugeriría la descarga Wireshark y ver su tráfico HTTP para ver si no se puede aislar el problema. Podrás comparar la solicitud enviada por otros navegadores en contra de la solicitud enviada por FF3 y ver qué tipo de respuesta se va a volver. Si es de hecho un problema con jQuery no funciona correctamente en FF3 es posible que pueda alterar una parte del código para que funcione correctamente.

probablemente pueda instalar la extensión de Firefox vivo encabezados que le dará acceso a toda la información de sus peticiones / respuestas. De esta forma podrás coger cualquier diferencia.

¿Tiene alguna plugins o scripts de Greasemonkey instalados en el Firefox?

Nunca he tenido problemas con las solicitudes de jQuery AJAX sobre HTTPS. Te sugiero echar un vistazo a lo que Firebug vueltas arriba si no lo ha hecho.

Me $.post para trabajar en Firefox mediante el envío de un objeto vacío como el parámetro data. Observe los corchetes vacíos para el parámetro 2:

$.post(url, {}, function(response){ alert('done'); }, "json");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top