2013-02-18 122 views
0

我試圖讓跨域請求,但服務器無法響應與jQuery的AJAX返回狀態碼0,而請求跨域

Access-Control-Allow-Origin: * 

我想讀響應頭。 當我試圖讀取狀態碼或就緒狀態時,它返回0.我的代碼爲ajax請求如下。

$.ajax({ 
     url: "https://accounts.google.com/o/oauth2/auth", 
     type: "POST", 
     data: {"response_type":"token","client_id":"6720XXXXXXX.apps.googleusercontent.com","redirect_uri":"http://localhost:51967/oauth2callback.aspx","scope":"https://www.googleapis.com/auth/calendar","state":"this is state information","approval_prompt":"auto"},    
       crossDomain: true 
     }).always(function(jqxhr,testStatus,errorThrown) 
     { 
       alert(jqxhr.readyState); 
       alert(jqxhr.status); 
     }); 

在此先感謝

回答

0

你嘗試this jquery crossdomain插件?

另一種方式是使用作爲jsonp響應類型

$.ajax({ 
    url: "https://accounts.google.com/o/oauth2/auth", 
    type: "POST", 
    dataType: 'jsonp', 
    ... 
+0

那麼服務器將返回400錯誤使用時JSONP它發送其他數據,諸如回調= jQuery19009566406458362526_13611668XXX因爲它僅接受一定的數據作爲交 – 2013-02-18 06:03:53