跨域访问:
jsonp模式
优点:简单
缺点:只支持get
实现如下:
1.调用的函数:
function jsonp(){ var data = "hellow"; var _script = document.createElement('script'); _script.type = "text/javascript"; _script.src = "http://linkrmb.com/jsonp?data=" + data; document.head.appendChild(_script); }
2.服务端的处理:
@RequestMapping(value = "/jsonp", headers = "content-type=application/octet-stream")
@ResponseBody
public String jsonp(HttpServletRequest request) throws Exception {
String data = request.getParameter("data");
List<String> list = JSON.parseArray(data, String.class);
log.info("****data list:{}", list);
boolean isOk = true;
return "save('" + isOk + "')";
}
3.页面回调函数处理:
<script>
function save(data) {
alert("谢谢关注敬请期待!");
window.location.reload();
}
</script>
原理:
相当于第一个方法生成了
<script type="text/javascript">
save(true);
</script>
那么直接执行了save方法完成跨域请求