js之跨域访问

跨域访问:

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方法完成跨域请求

猜你喜欢

转载自snv.iteye.com/blog/2285499