ajax跨域需要前后台配合。
1、前台ajax写法:
<html>
<head>
<script type="text/javascript" src="/js/jquery/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#b01").click(function(){
$("#myDiv").hide();
htmlobj=$.ajax({url:"http://o.roseonly.com.cn/mobile/user/usertype.htm",
async:true,
dataType:"jsonp",
success:function(data){
console.log(data)}});
$("#myDiv").show();
});
});
</script>
</head>
<body>
<!--
jsonp:"callback",
jsonpCallback:"success_jsonpCallback",
-->
<div id="myDiv"><h2>通过 AJAX 改变文本</h2></div>
<button id="b01" type="button">改变内容</button>
</body>
</html>
2、后台java代码写法:
@RequestMapping(value="usertype")
@ResponseBody
public String test(HttpServletRequest request,HttpServletResponse response) {
// response.setHeader("Access-Control-Allow-Origin", "*");
// response.setHeader("Access-Control-Allow-Methods",
// "POST, GET, OPTIONS, DELETE");
// response.setHeader("Access-Control-Max-Age", "3600");
// response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
String callback = request.getParameter("callback");
System.out.println("callback-----------"+callback);
//response.setHeader("Access-Control-Allow-Origin", "*");
JSONObject json = new JSONObject();
//当前用户
UserLogin user = this.currentUser(request);
//资格判断
if("1".equals(user.getType())){
json.put("type",1);
json.put("msg", "该用户是老客户!");
// renderJson(response, json.toString(), callback);
return json.toString();
}
json.put("type",0);
json.put("msg", "该用户不是老客户!");
// renderJson(response, json.toString());
if(StringUtils.isEmpty(callback)){
return json.toString();
}
return callback.toString()+"("+json.toString()+")";
}