@Controller public class ApiController { @Path("/api/v1/user/get_user_info") public void processUserInfo(HttpServletRequest req, HttpServletResponse resp)throws Exception { resp.setContentType("application/json"); resp.setCharacterEncoding("UTF-8"); String callback = req.getParameter("callback"); PrintWriter out = resp.getWriter(); if(callback == null) { out.print(getUserInfo()); } else { out.print(callback + "("+getUserInfo()+");"); } out.close(); } private String getUserInfo() { Map<String, String> user = new HashMap<>(); user.put("id", "1"); user.put("phone", "10086"); user.put("name", "CMCC"); user.put("web_site", "http://www.10086.cn"); Gson g = new Gson(); return g.toJson(user); } }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE HTML> <html lang="zh-CN"> <head> <meta charset="utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>jsky</title> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> </head> <body> <h1>jsky</h1> <div style="font-size:22px;color:red;" id="box"> </div> </body> <script type="text/javascript"> (function ($, win, doc) { $.ajax({ type: 'GET', jsonp: 'callback', url: 'http://java.hqit.com/example/api/v1/user/get_user_info.do', data: 'version='+new Date().getTime(), success: function(resp){ var html = ""; html += 'id='+resp.id; html += '<br />phone='+resp.phone; html += '<br />name='+resp.name; html += '<br />web_site='+resp.web_site; $("#box").html(html); }, dataType: 'jsonp' }); })(jQuery, window, document); </script> </html>