您的位置:首页 > Web前端 > JQuery

Java+jquery+jsonp实现跨域

2017-02-14 17:02 330 查看
jquery端代码

 $.ajax({ 

         async:false, 

         url: 'http://www.**.com/**/jsonp', // 跨域URL 

         dataType: 'jsonp', 

         timeout: 5000, 

         success: function (json) { 

          alert(JSON.stringify(json));

         }

     });

java web端代码

    @ResponseBody

    @RequestMapping(value = "/jsonp",method=RequestMethod.GET)

    public String jsonp(HttpServletRequest request) {

        String callback =request.getParameter("callback");

        return callback+"([{name:'jsonp',age:'30'},{name:'jack',age:'90'}])";

    }

执行结果

[{"name":"jsonp","age":"30"},{"name":"jack","age":"90"}]

 以上是不指定任何参数,jquery自动传递一个callback参数到后台,成功后,回调success函数。

  $.ajax({ 

         async:false, 

         url: 'http://www.**.com/**/jsonp', // 跨域URL 

         dataType: 'jsonp',

         jsonp:'jsoncallback',//自定义参数名称

         timeout: 5000, 

         success: function (json) { 

          alert(JSON.stringify(json));

         }

     });

 java web端代码

    @ResponseBody

    @RequestMapping(value = "/jsonp",method=RequestMethod.GET)

    public String jsonp(HttpServletRequest request) {

        String jsoncallback=request.getParameter("jsoncallback");//指定接受参数为jsoncallback

        return jsoncallback+"([{name:'jsonp',age:'30'},{name:'jack',age:'90'}])";

    }

 以上是自定义参数名称,后台指定接受通过jsonp冒号传递的函数名称。

         $.ajax({ 

         async:false, 

         url: 'http://www.**.com/**/jsonp', // 跨域URL 

         dataType: 'jsonp',

         jsonp:'jsoncallback',//自定义参数名称

         jsonpCallback:"success_jsonpCallback",//定义回调函数名称

         timeout: 5000, 

         success: function (json) { 

          alert(JSON.stringify(json));

         }

     });

var success_jsonpCallback=function(json){

    alert(JSON.stringify(json)+"********");

}

执行结果

[{"name":"jsonp","age":"30"},{"name":"jack","age":"90"}]********

[{"name":"jsonp","age":"30"},{"name":"jack","age":"90"}]

 以上是自定义回调函数名称,执行成功后,先执行jsonpCallback定义的回调函数,后执行success函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jsonp