使用jsonp实现ajax跨域请求

众所周知,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提供的回掉函数,这样就实现了跨域访问。不过这种跨域需要目标站后台的配合。

相关文章

文章浏览阅读2.4k次。最近要优化cesium里的热力图效果,浏览...
文章浏览阅读1.2w次,点赞3次,收藏19次。在 Python中读取 j...
文章浏览阅读1.4k次。首字母缩略词 API 代表应用程序编程接口...
文章浏览阅读802次,点赞10次,收藏10次。解决一个JSON反序列...
文章浏览阅读882次。Unity Json和Xml的序列化和反序列化_uni...