2011-09-16 37 views
5

我在安全站點上有一個RESTful服務。我可以建立一個請求,只是在Firefox的REST客戶端很好,但是當我嘗試建立它在代碼中,我得到一個401這裏是我的代碼如何設置請求標頭字符串

(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')} 
       }); 
      })(); 

這說明了在web開發工具FF爲:

Request-Headers:authorization,content-type 

當我需要什麼(從其他客戶端是FF)爲:

Authorization:myAuthstring 
Content-Type:application/json 

任何線索,我在做什麼錯?

**編輯 - 事實證明我正在實現跨域限制。其他客戶如何解決這個問題?

+0

好了,它看起來像我的運氣與此服務爲JSONP是不允許的。我不知道我還能做什麼。 dataType:'jsonp' 返回錯誤。 – Corey

+0

你無法解決Cors問題。你的API提供者必須在他們的頭文件中添加它。我認爲它應該是allow-cross-origin:*其中*表示允許所有 – qamar

回答

-1

可以傳遞的contentType作爲一個選項,以$就

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