美文网首页
SpringMVC处理JSONP请求

SpringMVC处理JSONP请求

作者: 巨子联盟 | 来源:发表于2017-12-01 10:34 被阅读0次
  • 前端JS写法

    doAjax({  
        url:getTaskPath(selected)+"refreshJob.do",
        dataType:'jsonp',  
        data:selected,  
        jsonp:'callback',  //关键
        jsonpCallback:"success_jsonpCallback", //这是关键
        success:function(data) {  
            if(!isEmpty(data)){
                doQuery();
                $.messager.alert( '提示', '刷新定时任务成功!' , 'info');
            }else{
                $.messager.alert( '提示', '刷新定时任务失败!' , 'info');
            } 
        }
    }); 
  • 后台Controller层写法

方法上要这样标识格式和编码,否则会有乱码 其中 CHARSET=";charset=UTF-8"

    @RequestMapping(value="/refreshJob", produces = MediaType.APPLICATION_JSON_VALUE + CHARSET)
    @ResponseBody
    public String refreshJob(TaskJob taskJob){

返回结果格式如下:

String callback = currentRequest.get().getParameter("callback");
return callback+"("+GsonUtil.toJson(GsonUtil.toJson(taskJobNew))+")";

请求的结果截图如下:


image.png

在前端解析结果如下:


image.png
注意:虽然返回请求的字符串里面看是success_jsonpCallback("{xxxJSON串xxx}"),但是在在解析data的时候,得到的是一个可以直接调的变量实体,无需关注 success_jsonpCallback 怎么解析.

相关文章

网友评论

      本文标题:SpringMVC处理JSONP请求

      本文链接:https://www.haomeiwen.com/subject/eupibxtx.html