jsonp传递返回数据
时间: 2024-10-13 17:16:13 浏览: 5
JSONP(JSON with Padding)是一种利用`<script>`标签跨域加载数据的技术,它通过动态创建并插入`<script>`元素来实现。当你在一个网站上请求JSON数据,但该数据源不在同源策略允许范围时,你可以通过设置回调函数名的方式让服务器返回包裹在JavaScript代码中的数据。
以下是一个简单的JSONP示例:
假设你有一个远程API,它支持JSONP调用,如 `http://example.com/data?callback=yourCallbackName`。在这个URL中,`yourCallbackName`是你预先定义好的一个函数名,服务器会将数据作为这个函数的参数返回。
```javascript
// 定义一个JavaScript全局函数,用于接收服务器返回的数据
function yourCallbackName(data) {
// 处理接收到的JSON数据,比如 console.log 或者填充到页面某个元素
console.log('Received JSON data:', data);
}
// 使用JSONP发起请求
var scriptTag = document.createElement('script');
scriptTag.src = 'http://example.com/data?callback=yourCallbackName';
document.head.appendChild(scriptTag); // 添加到文档头部执行
```
当浏览器遇到`<script>`标签并且发现src属性指向的是一个可以执行的JavaScript代码,它会立即执行这段代码,这样就实现了跨域数据的接收。
阅读全文