`
linqincai
  • 浏览: 24125 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

jsonp实现跨域访问

    博客分类:
  • j2ee
阅读更多

本文转载自:http://mengqingyu.iteye.com/blog/408138

 

 

客户端可以通过javascript和jquery两种方式进行跨域访问。

Js代码 复制代码
  1. <!-- Jquery实现跨域访问  -->   
  2. <script type="text/javascript">      
  3. function test(){   
  4.     $.getJSON("http://test.jsonp.com:8088/JsonpServer/test?jsonp=?",        //jsonp属性执行到服务器端会被自动赋值,值为函数名       
  5.     function (json){       
  6.         alert(json[0].name);      
  7.     });    
  8. }     
  9. </script>    
  10. <!-- 利用script src属性实现跨域访问-->   
  11. <script type="text/javascript">     
  12.   function jsonpCallback(json)      
  13.   {      
  14.     alert(json[0].name);      
  15.   }      
  16. </script>     
  17. <script type="text/javascript" src="http://test.jsonp.com:8088/JsonpServer/test?jsonp=jsonpCallback"></script>  
<!-- Jquery实现跨域访问  -->
<script type="text/javascript">   
function test(){
	$.getJSON("http://test.jsonp.com:8088/JsonpServer/test?jsonp=?",        //jsonp属性执行到服务器端会被自动赋值,值为函数名    
	function (json){    
		alert(json[0].name);   
	}); 
}  
</script> 
<!-- 利用script src属性实现跨域访问-->
<script type="text/javascript">  
  function jsonpCallback(json)   
  {   
  	alert(json[0].name);   
  }   
</script>  
<script type="text/javascript" src="http://test.jsonp.com:8088/JsonpServer/test?jsonp=jsonpCallback"></script>

 

Java代码 复制代码
  1. 服务器端:   
  2.     public void doGet(HttpServletRequest request, HttpServletResponse response)   
  3.             throws ServletException, IOException   
  4.     {   
  5.         //服务器端接到回调函数名字输出回调函数,客户端根据回调函数进行解析取得函数中json对象   
  6.         response.setContentType("text/html; charset=utf-8");   
  7.         String callback=request.getParameter("jsonp");   
  8.         PrintWriter out = response.getWriter();   
  9.         out.print(callback+"([ { name:\"跨域访问成功!\"} ] )");   
  10.     }  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics