如何在ajax中解决跨域[重复]
Posted
技术标签:
【中文标题】如何在ajax中解决跨域[重复]【英文标题】:how to solve cross domain in ajax [duplicate] 【发布时间】:2015-01-01 08:12:40 【问题描述】:我想解决我的 AJAX 跨域问题。这是我在 Chrome 中收到的错误消息:
XMLHttpRequest 无法加载 http://'myaddress'/TEST/user/login/testuserid 。 Access-Control-Allow-Headers 不允许请求标头字段 Access-Control-Allow-Origin。
这是我的源代码
$.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代码
httpRes.setHeader("Access-Control-Allow-Origin", "*");
httpRes.setHeader("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE");
httpRes.setHeader("Access-Control-Allow-Headers", "*");
【问题讨论】:
您是否检查过浏览器中的响应以查看是否实际设置了标头? 你试过httpRes.setHeader("Access-Control-Allow-Headers", "x-requested-with");
吗?
【参考方案1】:
您需要使用JSONP
来制作CROSS DOMAIN Requests
。
请阅读:
Loading cross domain endpoint with jQuery AJAX
Make cross-domain ajax JSONP request with jQuery
【讨论】:
JSONP 不是一个明确的要求。这只是一种选择。以上是关于如何在ajax中解决跨域[重复]的主要内容,如果未能解决你的问题,请参考以下文章