2011-09-16 18 views
5

Tengo un servicio RESTful en un sitio seguro. Puedo construir una petición muy bien con el cliente REST en Firefox, pero cuando intento para construirlo en el código Puedo obtener un 401. Aquí está mi códigoCómo establecer cadenas de encabezado de solicitud

(function() { 
       $.ajax({ 
        url : "https://myrestsite", 
        type : "GET", 
        //beforeSend: function (req){ 
        // req.setRequestHeader("Authorization","myauthstring"); 
        // req.setRequestHeader("Content-Type", "application/json"); 
        //},       
        headers : { 
         "Authorization" : "myauthstring", 
         "Content-Type" : "application/json", 
        },  
        success : function(){alert('we got here')} 
       }); 
      })(); 

Esto se muestra en las herramientas de desarrollo Web en FF como:

Request-Headers:authorization,content-type 

Cuando lo que necesito (desde el cliente resto es FF) es:

Authorization:myAuthstring 
Content-Type:application/json 

alguna pista sobre lo que estoy haciendo mal?

** editar - Resulta que estoy llegando a la restricción de dominio cruzado. ¿Cómo se las arregla el resto del cliente?

+0

Ok, parece que estoy fuera de suerte con este servicio como jsonp no está permitido. No sé qué más puedo hacer. dataType: 'jsonp' devuelve un error. – Corey

+0

No se puede evitar el problema de cors. Su proveedor de API tiene que agregar eso en sus encabezados. Creo que debería permitir-cross-origen: * donde * significa permitir todo – qamar

Respuesta

-1

se puede pasar contentType como una opción de $ .ajax

$.ajax({ 
    ... 
    contentType: 'application/json' 
}); 
Cuestiones relacionadas