jsonp跨域请求

xiaoxiao2021-02-28  81

一.客户端

Html代码   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   <html>   <head>   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">   <title>Insert title here</title>   <script type="text/javascript" src="resource/js/jquery-1.7.2.js"></script>   </head>   <script type="text/javascript">   $(function(){          /*       //简写形式,效果相同       $.getJSON("http://app.example.com/base/json.do?sid=1494&busiId=101&jsonpCallback=?",               function(data){                   $("#showcontent").text("Result:"+data.result)       });       */       $.ajax({           type : "get",           async:false,           url : "http://app.example.com/base/json.do?sid=1494&busiId=101",           dataType : "jsonp",//数据类型为jsonp           jsonp: "jsonpCallback",//服务端用于接收callback调用的function名的参数           success : function(data){               $("#showcontent").text("Result:"+data.result)           },           error:function(){               alert('fail');           }       });    });   </script>   <body>   <div id="showcontent">Result:</div>   </body>   </html>  

 二.服务器端

Java代码   import java.io.IOException;   import java.io.PrintWriter;   import java.util.HashMap;   import java.util.Map;   import javax.servlet.http.HttpServletRequest;   import javax.servlet.http.HttpServletResponse;   import net.sf.json.JSONObject;   import org.springframework.stereotype.Controller;   import org.springframework.web.bind.annotation.RequestMapping;      @Controller   public class ExchangeJsonController {       @RequestMapping("/base/json.do")       public void exchangeJson(HttpServletRequest request,HttpServletResponse response) {          try {           response.setContentType("text/plain");           response.setHeader("Pragma""No-cache");           response.setHeader("Cache-Control""no-cache");           response.setDateHeader("Expires"0);           Map<String,String> map = new HashMap<String,String>();            map.put("result""content");           PrintWriter out = response.getWriter();                JSONObject resultJSON = JSONObject.fromObject(map); //根据需要拼装json           String jsonpCallback = request.getParameter("jsonpCallback");//客户端请求参数           out.println(jsonpCallback+"("+resultJSON.toString(1,1)+")");//返回jsonp格式数据           out.flush();           out.close();         } catch (IOException e) {          e.printStackTrace();         }       }   }  
转载请注明原文地址: https://www.6miu.com/read-60687.html

最新回复(0)