Spring MVC、Ajax 和同源策略
Posted
技术标签:
【中文标题】Spring MVC、Ajax 和同源策略【英文标题】:Spring MVC, Ajax and Same Origin Policy 【发布时间】:2014-07-23 11:23:58 【问题描述】:使用 spring MVC Rest 服务克服 Ajax 调用中的同源策略的最佳方法是什么?是添加标头值还是使用 JSONP?
如何在 Spring Mvc REST 中同时使用 RequestParam 和 PathVariable 映射请求?
@RequestMapping(value = "/getstudent/userId", method = RequestMethod.GET)
public @ResponseBody Student getStudent(@PathVariable String userId, @RequestParam("callback") String callback)
StudentRegister studentRegister = new StudentRegister();
return studentRegister.getStudent(userId);
【问题讨论】:
【参考方案1】:您可以检查是否允许使用 Origin
标头。如果是,请将Access-Control-Allow-Origin
标头添加到响应中:
@RequestMapping("xhr")
@ResponseBody
public Object xhr(@RequestHeader("Origin") String origin, HttpServletResponse response)
if (LIST_OF_AUTHORIZED_ORIGINS.contains(origin))
response.setHeader("Access-Control-Allow-Origin", origin);
return toJson();
【讨论】:
这是最佳做法吗? 如何在 Spring Mvc REST 中使用 RequestParam 和 PathVariable 映射请求?以上是关于Spring MVC、Ajax 和同源策略的主要内容,如果未能解决你的问题,请参考以下文章