我有一个 RestEasy api,我需要向移动客户端提供对所有 http 方法的访问,所有这些请求都必须通过 ajax 发送。
这是客户端代码的示例:
var data = {
login: 'usertest@gmail.com',
password: '123456'
};
$.ajax({
url: 'http://1.1.1.3:8080/api/admin',
type: 'POST',
contentType : 'application/json',
dataType: "json",
data: JSON.stringify(data),
success: function(){
console.log(arguments);
},
error: function(){
console.log('error')
}
});
而这里的服务器:
@POST
@Consumes("application/json")
@Produces("application/json")
public Response doLogin(User user) {...}
这是错误:
XMLHttpRequest cannot load http://1.1.1.3:8080/api/admin. Origin http://stackoverflow.com is not allowed by Access-Control-Allow-Origin.
当我从 Localhost 请求时,这是来自服务器的标题答案
Access-Control-Allow-Cred... true
Access-Control-Allow-Orig... http://1.1.1.3:8080 //request sent from http://1.1.1.3:8080
Access-Control-Expose-Hea... X-Test-2, X-Test-1
Content-Length 1136
Content-Type text/html;charset=utf-8
Date Wed, 19 Dec 2012 17:54:19 GMT
Server Apache-Coyote/1.1
PS:通过通常的 http 请求一切正常。
我错过了什么?