jsonp跨域调用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bowei026/article/details/51385498

客户端:

<script type="text/javascript">    
    function jsonpCallback(result){     
       alert(result[1].name);     
    }     
</script>  
<script type="text/javascript"src="http://test.abc.com/Jsonp/jsonp.jsp?callback=jsonpCallback"></script>

或者

<script type="text/javascript">     
    $.getJSON("http://test.abc.com/Jsonp/jsonp.jsp?callback=?", function(json){      
        alert(json[0].name);     
    });     
</script>

或者

$.ajax({  
type : "get",  
async:false,  
url : "http://test.abc.com/base/Jsonp/jsonp.jsp",  
dataType : "jsonp",    //数据类型为jsonp  
jsonp: "jsonpCallback",    //服务端用于接收callback调用的function名的参数  
success : function(data){  
$("#showcontent").text("Result:"+data.result)  
},  
error:function(){  
alert('fail');  
}  
}); 


服务端(jsonp.jsp代码):

<%  
     String callback = request.getParameter("callback");  
     out.print(callback+"([ { name:'John',age:'19'},{ name:'joe',age:'20'}] );");  
     out.print(callback);  
%>


=====示例2======

扫描二维码关注公众号,回复: 2982773 查看本文章

Java代码:
@RequestMapping("/lottery_addr.action")
@ResponseBody
public String lottery_address(String lotteryCode, String callback) throws Exception{
HashMap ret = new HashMap();
ret.put("responseCode", "0");
ret.put("responseMessage", "success");

HashMap result = new HashMap();
result.put("pin", System.currentTimeMillis());
result.put("winner", "true");
ret.put("data", result);

ObjectMapper mapper = new ObjectMapper();
String str = mapper.writeValueAsString(ret);
return callback + "(" + str + ");";
}


js代码:

$.ajax({
     type: "get",
     async: false,
     url: "http://192.168.1.110:8080/lottery_addr.action",
     data: {lotteryCode:'act1'},
     dataType: "jsonp",
     jsonp: "callback", //传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
     jsonpCallback:"jsonpBack",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据
     success: function(json){
         // 在这里处理业务逻辑即可
     },
     error: function(){
         //alert('fail');
     }
 });

猜你喜欢

转载自blog.csdn.net/bowei026/article/details/51385498