ajax跨域jsonp

java端代码:

/**
	 * AJAX跨域检证用户状态
	 * @param request
	 * @param response
	 * @throws IOException 
	 */
	@RequestMapping("ajaxCheckCross.html")
	public void doAjaxCheckCross(HttpServletRequest request, HttpServletResponse response) throws IOException {
		// 用户信息
		UserInfoVo user = (UserInfoVo) WebUtils.getSessionContainer(request).getUserInfo();
		// 回调参数
		String callback = request.getParameter("callbackparam");
		
		JSONObject json = new JSONObject();
		
		if (user != null) {
			json.put("res", "login");
			
			json.put("mobile", StringMarkUtil.markMobile(user.getAccount()));
			
		} else {
			json.put("res", "out");
		}
		
		PrintWriter out = response.getWriter();
		
		// 输出
		out.write(callback + "(" + json.toString() + ")");
	}

js端:

$.ajax({
   type : "get",
   async:false,
   url : "ajax.do",
   dataType : "jsonp",
   jsonp: "callbackparam",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
   jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
    success : function(json){
       alert(json);
       alert(json[0].name);
   },
   error:function(){
       alert('fail');
   }
});

  

相关推荐