ajax跨域与cookie跨域

    xiaoxiao2021-03-26  78

    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(“/”)//代表这个根路径下所有了路径都可以访问到

    转载请注明原文地址: https://ju.6miu.com/read-662468.html

    最新回复(0)