node.js - 使用 rxjs ajax() 我得到 "CORS is not supported by your browser"

标签 node.js ajax cors rxjs rxjs6

我不断使用 Rxjs 6,

Error: CORS is not supported by your browser

我的代码很简单,

import { ajax } from 'rxjs/ajax';

const ajax$ = ajax({
  url: genURL_chan(179),
  crossDomain: true,
  withCredentials: false,
  method: 'POST',
  body: { 'since': 0, 'mode': 'Messages', 'msgCount': 5000},
});

我的代码很简单,

/node_modules/rxjs/internal/util/hostReportError.js:4
    setTimeout(function () { throw err; });
                             ^

Error: CORS is not supported by your browser
    at getCORSRequest (/node_modules/rxjs/internal/observable/dom/AjaxObservable.js:27:15)
    at Object.createXHR (/node_modules/rxjs/internal/observable/dom/AjaxObservable.js:93:43)
    at Object.tryCatcher (/node_modules/rxjs/internal/util/tryCatch.js:7:31)
    at AjaxSubscriber.send (/node_modules/rxjs/internal/observable/dom/AjaxObservable.js:159:50)
    at new AjaxSubscriber (/node_modules/rxjs/internal/observable/dom/AjaxObservable.js:147:15)
    at AjaxObservable._subscribe (/node_modules/rxjs/internal/observable/dom/AjaxObservable.js:116:16)
    at AjaxObservable.Observable._trySubscribe (/node_modules/rxjs/internal/Observable.js:43:25)
    at AjaxObservable.Observable.subscribe (/node_modules/rxjs/internal/Observable.js:29:22)
    at Object.<anonymous> (/index.js:17:7)
    at Module._compile (internal/modules/cjs/loader.js:702:30)

最佳答案

您需要将您的 createXHR 函数放在传递给 ajax() 调用的实际配置上:

import { XMLHttpRequest } from 'xmlhttprequest'

function createXHR() {
  return new XMLHttpRequest();
}

const ajax$ = ajax({
  createXHR, // <--- here
  url: genURL_chan(179),
  crossDomain: true,
  withCredentials: false,
  method: 'POST',
  body: { 'since': 0, 'mode': 'Messages', 'msgCount': 5000},
});

相关:我也在存储库中回答了你的问题,并提供了更多信息:https://github.com/ReactiveX/rxjs/issues/3978#issuecomment-411472389

关于node.js - 使用 rxjs ajax() 我得到 "CORS is not supported by your browser",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51603801/

相关文章:

javascript - Facebook 和 Quora 如何在 Ajax 响应中返回 JavaScript?他们如何处理回应?

javascript - ChildNodes/NodeValue 混淆

javascript - 将 Fetch 与授权 header 和 CORS 结合使用

node.js - 如何获取用户所属的组?

javascript - 我应该如何在http post请求的请求有效负载中传递json数据

node.js - 用户套接字与服务器断开连接后如何发送消息

javascript - 在 session 中设置另一个域

javascript - 使用数据参数延迟加载外部 Javascript

javascript - 跨源 Ajax 请求在 Opera 和 IE9 中不起作用?

javascript - hapi.js Cors 飞行前不返回 Access-Control-Allow-Origin header