PhoneGap: request de authentication de Windows con JQuery

Estoy intentando acceder a un service web que tiene authentication de Windows . Básicamente estoy usando la mayor parte de lo que está escrito en esta página:

$.ajax({ url: url, method: 'GET', async: true, data: {}, dataType: 'json', crossDomain: true, xhrFields: { withCnetworkingentials: true }, beforeSend: function(xhr) { // set authorization header xhr.setRequestHeader("Authorization", "Basic " + Base64.encode(username + ":" + password)); }, success: function(data){ // success }, error: function(request, status, error) { // handle problem } }); 

También definí los hosts externos en el file .plist. Mi problema es que siempre obtengo un error. Para hacerlo peor, nada sale de la function de error que es un poco útil (esta salida es de Firefox, para simplificar):

 Object { readyState=0, status=0, statusText="error"} 

También probé en el simulador, pero en lugar de darme de inmediato el error, creo que es el time de espera. Lo que he estado viendo y lo que estoy usando es una request que utiliza authentication básica . Entonces, ¿hay alguna forma de implementar esto usando la authentication de Windows ?

Al final lo que hice:

  $.ajax( { url:webServiceLink, method: "GET", timeout:30000, data: "{}", dataType: "xml", beforeSend : function(req) { req.setRequestHeader("Authorization", make_base_auth (username,password)); }, success: OnGetMemberSuccess, error: OnGetMemberError }); }); 

En los hosts externos puse: * .


Actualización 1.0: dejó de funcionar nuevamente …

Actualización 2.0 Encontró el problema:

La encoding base 64 acepta los siguientes caracteres:

_keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 + / =",

Si ingresas un nombre de usuario / contraseña con algo más, tendrás problemas. 🙂

Puede que debas echar un vistazo a Access-Control-Allow-Headers