使用jsonp实现ajax跨域请求

前端之家收集整理的这篇文章主要介绍了使用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提供的回掉函数,这样就实现了跨域访问。不过这种跨域需要目标站后台的配合。

猜你在找的Json相关文章