ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,存在各种问题,大家可以自行百度。
我们项目使用Spring Web MVC,如果你们没有用Spring Web MVC也不用担心,因为方法是通用的。
解决方法:通过设置Access-Control-Allow-Origin来实现跨域访问,需要通过response设置。
Access-Control-Allow-Origin:* 表示允许任何域名跨域访问,如果需要指定域名,大家自行百度学习,我们的项目是手机客户端页面,用不上。
Spring Web MVC下面完整例子
@Controller
@RequestMapping("/LuozhuangMobileControl.do")
public class LuozhuangMobileControl{
/**
* 用户登录
*
* @param request
* @return
*/
@RequestMapping(params = "loginCheck")
@ResponseBody
public Object login(HttpServletRequest request, HttpServletResponse response) {
Object j;
//这里处理你的业务
response.setHeader("content-type", "application:json;charset=utf8");
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");
return j;
}
}
上面是我们项目中使用的方法, 如有更佳方法,欢迎大家斧正。