使用jquery实现js跨域

@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>



你可能感兴趣的:(jquery)