CORS 可以配置服务器的跨域请求 具体的流程如下图
如何配置服务器,有一个网页,里面有 nginx,可以看 nginx 是如何配置的。
JSONP
跨域的另外一种解决方案就是 JSONP,请求的 url 样例为 http://example.com/ip?callback=foo,服务器返回的样例为:
foo({
"ip": "8.8.8.8"
});
服务器会把数据放在回调函数中返回,回调函数的定义是在客户端已经定义好的。
再举个具体一点的例子,在浏览器中输入 https://suggest.taobao.com/sug?code=utf-8&q=k&callback=jsonp_1636030626737_31608,你可以拿到如下内容:
jsonp_1636030626737_31608({"result":[["口罩","113290.99605878958"],["裤子男","1301448.198977372"],["口红","184340.91474601295"],["裤子女","2263147.4346374082"],["开衫","4015302.491324383"],["阔腿裤","1407006.141119012"],["匡威","48661.80144196369"],["咖啡","449455.0577984843"],["筷子","152005.49447875252"],["空气炸锅","46617.90743380512"]]})
修改 callback=test 则返回的函数名就成为了 test。