我有一个 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.
这是当我从本地主机请求时,服务器返回的标题响应。
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请求都可以正常工作。
我错过了什么?