JSONP是一种利用script标签跨域获取数据的方式,具体实现如下:

1.前端代码:

function jsonp(url, callback) {
  var script = document.createElement('script');
  script.src = url + '?callback=' + callback;
  document.body.appendChild(script);
}

jsonp('http://example.com/data', 'handleData');

function handleData(data) {
  console.log(data);
}

2.后端代码:

var data = {foo: 'bar'};
var jsonpData = 'handleData(' + JSON.stringify(data) + ')';
res.send(jsonpData);

其中,前端代码中的jsonp函数通过创建一个script标签,将跨域获取数据的请求发送给后端,并指定回调函数名。后端代码中,通过将数据转换为JSON字符串,并拼接回调函数名,返回给前端。

需要注意的是,jsonp方式只支持GET请求,并且需要服务器端的支持。通常情况下,后端会根据请求参数中的callback参数,动态生成一个JavaScript函数,函数名即为callback参数的值,然后将数据作为参数传递给该函数并返回给客户端。客户端通过在HTML页面中定义该函数,即可获取到数据

JSONP实现跨域具体代码实现

原文地址: https://www.cveoy.top/t/topic/dXPO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录