我用spring mvc
编写了休息服务:
@RequestMapping(value = "/login", headers="Accept=*/*", method = RequestMethod.POST,
produces="application/json")
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public UserLoginedVO findUsByPass(HttpServletResponse response,
@RequestBody UserLoginCO userco) throws Exception{
response.setHeader("Access-Control-Allow-Origin","*");
UserLoginedVO usVO = userService.findUsByPass(userco.getUsername(), userco.getPassword());
return usVO;
}
用邮递员测试,它返回正确的结果 我通过jquery调用此服务,如下所示:
var json = {"username":"giau", "password":"1234"};
$.ajax({
data: JSON.stringify(json),
url: 'http://192.168.1.119:8080/mos/api/users/login',
type: 'POST',
dataType: 'json',
contentType:"application/json",
crossDomain:true,
async:false,
success:function(data)
{
alert("Data from Server"+JSON.stringify(data));
},
error:function(jqXHR,textStatus,errorThrown)
{
alert("You can not send Cross Domain AJAX requests: "+errorThrown);
}
}).done(function(data){
alert("aaaaaa");
});
我收到错误:
XMLHttpRequest无法加载 请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许原点'null'访问。
阻止跨源请求:同源策略禁止读取远程资源可以通过将资源移动到同一域或启用CORS来修复此问题。
虽然我使用crossDomail:true
我该如何解决这个问题?