De acuerdo con las solicitudes con credenciales , Firefox solo enviará credenciales junto con publicaciones entre dominios si
invocation.withCredentials = "true";
está configurado ... Pero no parece que la API Ajax de jQuery proporcione ningún mecanismo para esto.
¿Hay algo que me haya perdido? ¿Hay alguna otra forma en que pueda hacerlo?
javascript
jquery
cross-domain
David Wolever
fuente
fuente
Puede utilizar la
beforeSend
devolución de llamada para establecer parámetros adicionales (elXMLHTTPRequest
objeto se le pasa como su único parámetro).Para tu información, este tipo de solicitud entre dominios no funcionará en un escenario de sitio normal y no con ningún otro navegador. Ni siquiera sé qué limitaciones de seguridad impone FF 3.5, solo para que no te golpees la cabeza contra la pared por nada:
$.ajax({ url: 'http://bar.other', data: { whatever:'cool' }, type: 'GET', beforeSend: function(xhr){ xhr.withCredentials = true; } });
Una cosa más a tener en cuenta es que jQuery está configurado para normalizar las diferencias del navegador. Puede encontrar que la biblioteca jQuery impone más limitaciones que prohíben este tipo de funcionalidad.
fuente
method: 'GET'
es compatible. api.jquery.com/jquery.ajaxEn jQuery 3 y quizás versiones anteriores, la siguiente configuración más simple también funciona para solicitudes individuales:
$.ajax( 'https://foo.bar.com, { dataType: 'json', xhrFields: { withCredentials: true }, success: successFunc } );
El error completo que recibía en Firefox Dev Tools -> pestaña Red (en la pestaña Seguridad para una solicitud individual) era:
fuente