🌐 JSONP(JSON with Padding)是一种通过 `<script>` 标签实现跨域数据请求的技术。简单来说,它是一种绕过同源策略(Same-Origin Policy)限制的方法。在传统 AJAX 中,浏览器不允许直接向不同域名发起请求,而 JSONP 利用了 `<script>` 标签不受同源策略约束的特点,巧妙地解决了这一问题。
💡 JSONP 的核心原理是:前端定义一个回调函数,后端返回的数据会被包裹在这个回调函数中,从而形成一段可执行的 JavaScript 代码。例如,前端定义 `jsonpCallback` 函数,后端返回类似 `jsonpCallback({"name":"小明","age":25})` 的内容。当 `<script>` 标签加载这段代码时,浏览器会自动执行回调函数,将数据传递给前端。
🌐 使用 JSONP 的优点是兼容性好、实现简单,但也有局限性。例如,它仅支持 GET 请求,且无法处理错误或超时情况。因此,在现代开发中,更推荐使用 CORS 或者代理服务器来实现跨域通信。不过,JSONP 仍然是一个经典的解决方案,值得开发者了解!✨
前端 JSONP 跨域通信