ajax跨域
ajax跨域取数据(利用可以跨域加载js的原理<scripttype="text/javascript"src="/js/jquery.alerts.js"></script>
functioncallback(){
}这是需要返回这样一个js函数
)
ajax数据类型使用jsonp :如 ajax{
url:...?callbask=xxxx
Datatype:jsonp
Type:get
}
在使用数据类型为jsonp时,jquery自动会在url路径上拼接这样一个参数url:...?callback=xxxx
后台服务端接收于响应数据
@RequestMapping(value="user/token/{token}",produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
produces=MediaType.APPLICATION_JSON_UTF8_VALUE:这是为了使返回的数据为json,而不是html文件
@ResponseBody
publicString getUserByToken(@PathVariable String token,String callback){
E3Resulte3Result = tokenService.getUserByToken(token);
//判断是否是jsonp请求
if(StringUtils.isNotBlank(callback)){//这是ajax请求 中 dataType 类型为 jsonp时,自带的参数 参数名就叫callback
returncallback+"(" +JsonUtils.objectToJson(e3Result)+")";//返回的是一个js函数
}
returnJsonUtils.objectToJson(e3Result);
}
cookie跨域
需要设置cookie的域名(一般为取二级域名为cookie )
如:www.baidu.com
cookie.setDomain(“.baidu.com”);//设置域名
Cookie的访路径
cookie.setPath(“/”)//代表这个根路径下所有了路径都可以访问到