zoukankan      html  css  js  c++  java
  • Ajax跨域请求

    1、在Ajax请求客户端中添加dataType="jsonp"

    2、服务端处理方式

    方式一:判断是否是jsonp请求,后台方法中要接收参数String callback

        如果callback不是空的,那么就是jsonp请求,返回jsonp格式的字符串callback(json串)

        如果是空的,平常处理

    方式二(spring4.1以上可以使用):

    也要接收callback参数,做判断是否空

    包装响应结果:new MappingJacksonValue(result)

    设置jsonp的回调方法:new MappingJacksonValue(result).setJsonFunction(callback)

    //方式一:通用版本
        /*@RequestMapping(value="/user/token/{token}",method=RequestMethod.GET,
                //指定返回响应数据的content-type
                produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
        @ResponseBody
        public String getUserByToken(@PathVariable String token,String callback) {
            TaotaoResult result = userService.getUserByToken(token);
            //判断是否为jsonp请求
            if (StringUtils.isBlank(callback)) {
                return callback + "(" +JsonUtils.objectToJson(result) + ");";
            }
            return JsonUtils.objectToJson(result);
        }*/
        
        //方式二:spring4.1以上的版本可以用
        @RequestMapping(value="/user/token/{token}",method=RequestMethod.GET)
        @ResponseBody
        public Object getUserByToken(@PathVariable String token,String callback) {
            TaotaoResult result = userService.getUserByToken(token);
            //判断是否为jsonp请求
            if (StringUtils.isBlank(callback)) {
                //包装响应结果
                MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(result);
                //设置jsonp的回调方法
                mappingJacksonValue.setJsonpFunction(callback);
                return mappingJacksonValue;
            }
            return result;
        }
  • 相关阅读:
    发现可高速缓存的 SSL 页面
    启用了不安全的HTTP方法
    目录遍历漏洞
    强强合体:Docker版Kali Linux发布
    Kali2.0 Sqlmap清除历史扫描日志
    OWASP-ZAP
    基于web的项目管理软件Redmine
    sqlmap用户手册
    Sqlmap基础(二)
    信息存储安全
  • 原文地址:https://www.cnblogs.com/suhfj-825/p/8889007.html
Copyright © 2011-2022 走看看