Buenas, tengo una aplicación que hace una llamada a un servicio web REST para obtener un objeto JSON. La llamada que hago es la siguiente:
$.ajax({
type: "GET",
url: urlWebService + "/getListado"
processData: false,
crossDomain: true,
dataType: "application/json",
accepts: "application/json",
beforeSend: function (req) {
req.setRequestHeader('Accept', 'application/json');
req.setRequestHeader("Content-Type", "application/json");
},
cache: false,
success: function (msg) {
respuesta_json = msg;
callback(respuesta_json);
},
error: function (response) {
alert("Error");
}
});
El problema que tengo es que esta llamada solo me funciona y me devuelve el JSON correctamente con Firefox. He probado con la ultima version de todos los navegadores (IE, Chrome, Safaria y Opera) y no funciona porque en los headers de la llamada se envia Accept: undefined, application/json y por ese undefined devuelve error el servicio. Sin embargo con firefox la cabecera es Accept: application/json que es como tiene que ser. Por eso probé a hacer
beforeSend: function (req) {
req.setRequestHeader('Accept', 'application/json');
req.setRequestHeader("Content-Type", "application/json");
},
pero parece que solo funciona en Firefox. Alguna idea? He buscado en mil sitios y no encuentro solución.