Javascript cycle.js如何启用访问控制允许来源(CORS)

Javascript cycle.js如何启用访问控制允许来源(CORS),javascript,reactive,cyclejs,Javascript,Reactive,Cyclejs,我正在试验cyclejs javascript反应式框架,我对这种模式还不熟悉 我已经设置了一个从外部URL(en.wikipedia.org)读取的流,并得到以下结果: 已阻止跨源请求:同一源策略不允许读取 位于的远程资源 . (原因:缺少CORS标头“访问控制允许原点”) 我理解返回错误的原因。在本例中,服务器,节点,未设置标头 访问控制允许来源:* 和 内容类型:application/json;字符集=utf-8 将要求应用CORS约束 我无法找到节点服务器在何处、如何或是否添加CORS

我正在试验cyclejs javascript反应式框架,我对这种模式还不熟悉

我已经设置了一个从外部URL(en.wikipedia.org)读取的流,并得到以下结果:

已阻止跨源请求:同一源策略不允许读取 位于的远程资源 . (原因:缺少CORS标头“访问控制允许原点”)

我理解返回错误的原因。在本例中,服务器,节点,未设置标头

访问控制允许来源:*

内容类型:application/json;字符集=utf-8

将要求应用CORS约束

我无法找到节点服务器在何处、如何或是否添加CORS头。node Server.js代码就是用来做这件事的,但是我需要帮助来触发CORS头的添加

谢谢

package.json是:

{
  "name": "wikipedia",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "parcel -p 1235 index.html",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "cb",
  "license": "ISC",
  "dependencies": {
    "@cycle/dom": "^22.3.0",
    "@cycle/http": "^15.1.0",
    "@cycle/run": "^5.2.0",
    "npm": "^6.6.0",
    "xstream": "^11.10.0"
  },
  "devDependencies": {}
}
无论是否安装了节点包cors,都没有区别

我的标题是:

=== Response headers (1.424 KB)  ===
accept-ranges: bytes
age: 0
backend-timing: D=149145 t=1547782329117450
cache-control: private, must-revalidate, max-age=0
content-disposition: inline; filename=api-result.json
content-encoding: gzip
content-length: 1409
content-type: application/json; charset=utf-8
date: Fri, 18 Jan 2019 03:32:09 GMT
p3p: CP="This is not a P3P policy! …lAutoLogin/P3P for more info."
server: mw1224.eqiad.wmnet
server-timing: cache;desc="pass"
set-cookie: WMF-Last-Access=18-Jan-2019;Pa…Tue, 19 Feb 2019 00:00:00 GMT
set-cookie: WMF-Last-Access-Global=18-Jan-…Tue, 19 Feb 2019 00:00:00 GMT
strict-transport-security: max-age=106384710; includeSubDomains; preload
vary: Accept-Encoding,Treat-as-Untru…,Cookie,Authorization,X-Seven
via: 1.1 varnish (Varnish/5.1), 1.1…1), 1.1 varnish (Varnish/5.1)
x-analytics: ns=-1;special=Badtitle;https=1;nocookies=1
x-cache: cp1079 pass, cp2012 pass, cp5007 pass, cp5008 pass
x-cache-status: pass
x-content-type-options: nosniff
X-Firefox-Spdy: h2
x-frame-options: SAMEORIGIN
x-powered-by: HHVM/3.18.6-dev
x-search-id: cfqpbykh6k905h7hol9taip2o
x-varnish: 494419235, 536993066, 474976751, 593813616


=== Request headers (362 B)  ===
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.5
Connection: keep-alive
Host: en.wikipedia.org
Origin: http://localhost:1235
Referer: http://localhost:1235/
TE: Trailers
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linu…) Gecko/20100101 Firefox/64.0

Wikipedia不提供所需的标题,因此请求被阻止。你不能改变这一点。但是你可以使用这样的跨源代理

谢谢你为我指明了正确的方向,因为维基百科阻止了这个请求。进一步研究发现,解决方案非常简单。将“&origin=*”添加到请求字符串中,Wikipedia将返回一个CORS策略。就这样。

谢谢你。尝试了一下&各种各样地得到了503个(跨来源请求被阻止)和522个。不高兴。谢谢你给我指出了正确的方向,因为维基百科阻止了这个请求。进一步研究发现,解决方案非常简单。将“&origin=*”添加到请求字符串中,Wikipedia将返回一个CORS策略。就这样。