您需要在服务器上启用CORS请求。
如果使用node和Express:
var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors()) // Globally on all routes
// Or locally on one route only.
app.get('/products/:id', cors(), function (req, res, next) {
res.json({msg: 'This is CORS-enabled for a Single Route'})
})
https://github.com/expressjs/cors
CORS是所有主要web浏览器都实现的标准安全协议。
您只能允许从服务器跨源共享资源,由于明显的安全原因,它不能从客户端(浏览器应用程序)覆盖。
@Gwenm已经展示了如何从服务器端,基于节点的Express应用程序实现这一点。
在其他服务器端框架中实现这一点的方式对于每个框架都是不同的,但总是导致从服务器向客户机发送“Access-Control-Allow-Origin”报头。
如果服务器应用程序希望客户端能够从任何其他站点请求资源,那么该头的内容就是星号(“*”)。 如果服务器应用程序希望客户端能够从单个外部站点请求资源,则内容就是该站点的地址。
有关CORS工作原理的详细说明,请参阅https://developer.mozilla.org/en-us/docs/web/http/CORS的MDN页面
要获得在特定服务器/服务器端框架中启用此功能的帮助,请在SO上搜索--这里有数百个关于COR的问题和答案,这些问题和答案与每一个可以想象的服务器环境有关。