2014-11-05 46 views
0

我想解決我的AJAX跨域問題。這是我在Chrome中收到的錯誤消息:如何在ajax中解決跨域問題

XMLHttpRequest無法加載http://'myaddress'/ TEST/user/login/testuserid。請求標頭字段Access-Control-Allow-Headers不允許Access-Control-Allow-Origin。

這是我的源代碼進行跨域

httpRes.setHeader("Access-Control-Allow-Origin", "*"); 
httpRes.setHeader("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE"); 
httpRes.setHeader("Access-Control-Allow-Headers", "*"); 
+0

你檢查你的瀏覽器的響應,看是否標頭實際設置? – NilsH 2014-11-05 07:53:56

+0

你試過'httpRes.setHeader(「Access-Control-Allow-Headers」,「x-requested-with」);'? – Anujith 2014-11-05 07:59:21

回答

-1

您需要使用JSONP使CROSS DOMAIN Requests

$.ajax({ 
    crossDomain : true, 
    dataType : "json", 
    url: fullUrl, 
    method: method, 
    headers:headers, 
    data: body, 
    success: function(data, state, res){ 
     if (data == null) 
      data = ''; 

     console.log('[[[[[[[[SUCCESS!!]]]]]]] url: ' + url + ', state:' + state + ', data : ' + JSON.stringify(data)); 
     callback(data, state, res); 
    }, 
    error: function(data, state){ 
     if (data == null) 
      data = ''; 

     console.log('[[[[[[[[[ERROR!!]]]]]]]]] url: ' + url + ', s tate:' + state + ', data : ' + JSON.stringify(data)); 
     callback(data, state, null); 
    } 
}); 

servlet代碼。

請閱讀:

Loading cross domain endpoint with jQuery AJAX

Make cross-domain ajax JSONP request with jQuery

+0

JSONP不是一個明確的要求。這只是一個選擇。 – NilsH 2014-11-05 08:40:10