ajax jsonp实现跨域请求

一、前端采用jquery实现请求

使用getJSON时,需要在参数中指定jsoncallback=?,这个就是前面所说的回调函数,JQuery会自动以一个随机生成的值(回调函数名)来替换该参数中的问号部分,从而形成jsoncallback=jQueryxxxxxxx这种形式的参数,然后和其他参数一起使用GET方式发出请求。

$.getJSON("http://localhost:8080/ts/defaultNotify?jsoncallback=?", {
            data: 1
        }, function(rs) {
            alert(rs);
        }).fail(function(jqXHR, textStatus, ex) {
            alert('request failed, cause: ' + ex.message);
        });

二、Java 后台代码

 @RequestMapping("/defaultNotify")
    public @ResponseBody
    Object transcode(HttpServletRequest request, HttpServletResponse response,String jsoncallback) {
        TaskEntity taskEntity=new TaskEntity();
        taskEntity.setAppKey("1");
        return jsoncallback+"("+ JSONObject
                .toJSONString(taskEntity)+")";
    }

猜你喜欢

转载自blog.csdn.net/u014692324/article/details/78593201