您的位置:首页 > Web前端 > JavaScript

使用jsonp实现ajax跨域请求

2016-03-29 12:10 766 查看
众所周知,ajax在跨域请求的时候会被浏览器的安全策略所阻止,但是在企业级项目中,经常会有不同项目之间需要进行直接通信,如果希望使用ajax的HTTP方式进行跨域请求的话,这里jsonp就可以排上用场了。直接上代码:

前端页面(跨域请求方):

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="jquery.min.js"></script>
<script>
function load(data){
alert(1);
}
</script>
<script>
$.getJSON("http://localhost:8080/FHMYSQL/weui/index?jsonp=?",function(data){
alert(data[0].name);
})

</script>
</head>
<body>

</body>
</html>


后台代码(被跨域代码):

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%=request.getParameter("jsonp")+"([{\"name\":\"value1\"}])"%>


这里会返回类似jsondsdf133527([{name:value1}])这样的回掉函数,去主动调用调用方ajax提供的回掉函数,这样就实现了跨域访问。不过这种跨域需要目标站后台的配合。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: