js jsonp使用跨域
时间: 2024-02-27 19:48:34 浏览: 159
详细解密jsonp跨域请求
JSONP是一种跨域解决方案,它利用了script标签的src属性不受同源策略限制的特性,通过动态创建script标签,向服务器请求数据,并在响应数据中携带一个回调函数名,服务器将数据包裹在该回调函数中返回给客户端,客户端接收到响应后,会自动执行该回调函数,从而实现跨域请求数据的目的。
以下是一个简单的JSONP示例:
```javascript
function jsonp(options) {
const script = document.createElement('script');
script.src = options.url + '&callback=' + options.callbackName;
document.body.appendChild(script);
}
function handleResponse(data) {
console.log(data);
}
jsonp({
url: 'http://example.com/data?param1=value1¶m2=value2',
callbackName: 'handleResponse'
});
```
在上面的示例中,我们定义了一个jsonp函数,该函数接收一个options对象作为参数,其中包含了请求的url和回调函数名。在函数内部,我们动态创建了一个script标签,并将请求的url和回调函数名拼接在一起,作为script标签的src属性值。然后将script标签添加到文档中,浏览器会自动向服务器发送请求。服务器返回的响应数据会被自动执行回调函数,从而实现跨域请求数据的目的。
阅读全文