jsonp 例子

      1. 返回结果必须是  text/javascript 类型

2.返回类型是String,不能包在其他对象里面

3.需要如同下面的jsonTest一样,在返回内容前面加上前端获取的参数,约定一下,参数名为“callback”

 

前端:

 

$.ajax({
               type: "get",
               async: false,
               url: 'http://172.16.17.64:8089/hiap/jsonpTest',
               dataType: "jsonp",
               contentType: "text/javascript",
               jsonp: "callback",/*后台获取的参数名*/
               jsonpCallback:"jsonpCallback",/*前端回调函数*/
               success: function(json){
                console.log("done");
                console.log(json);
               },
               error: function(e){
                console.log("fail");
                console.log(e);
                //window.location.reload();
               }
           });

  

后台:

@RequestMapping(value="/jsonpTest",method=RequestMethod.GET,produces="text/javascript")
    @ResponseBody
    public String jsonpTest(Model model,HttpServletRequest httpRequest){
       String callback = httpRequest.getParameter("callback");  
       callback=callback+"([ { name:'John',age:'19'},{ name:'joe',age:'20'}] );";
        return callback;
    }

 

 

另外可以参考以下内容:

参考地址:http://my.oschina.net/duwaiweb/blog/80576

相关推荐