本文转载自:http://mengqingyu.iteye.com/blog/408138
客户端可以通过javascript和jquery两种方式进行跨域访问。
- <!-- 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>
<!-- 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>
- 服务器端:
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException
- {
- //服务器端接到回调函数名字输出回调函数,客户端根据回调函数进行解析取得函数中json对象
- response.setContentType("text/html; charset=utf-8");
- String callback=request.getParameter("jsonp");
- PrintWriter out = response.getWriter();
- out.print(callback+"([ { name:\"跨域访问成功!\"} ] )");
- }