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;
        }
  • 相关阅读:
    NPOI 的使用心得
    uploadfiy 动态传递Form 参数
    积分系统总结
    easyui dataBox 增加一天,减少一天
    easyui datagrid footer 页脚问题
    sql server 视图 的一个例子
    sql server int 列 NULLIF,isnull 判断是0还是1 ,如果是0就变成1
    easyui 小知识
    获取 日期 最后一天
    my97 日期控件
  • 原文地址:https://www.cnblogs.com/suhfj-825/p/8889007.html
Copyright © 2011-2022 走看看