使用rxjs ajax()我得到“您的浏览器不支持CORS”

使用Rxjs 6,我不断得到

错误:您的浏览器不支持CORS

我的代码很简单

从'rxjs/ajax'导入{ajax};
常量ajax$=ajax({
url:genURL_chan(179),
跨域:是的,
使用凭据:false,
方法:“POST”,
正文:{'since':0,'mode':'Messages','msgCount':5000},
});

我的代码很简单

/node\u modules/rxjs/internal/util/hostReportError.js:4
setTimeout(函数(){throw err;});
^
错误:您的浏览器不支持CORS
在getCORSRequest(/node_modules/rxjs/internal/observable/dom/AjaxObservable.js:27:15)
在Object.createXHR(/node_modules/rxjs/internal/observable/dom/AjaxObservable.js:93:43)
在Object.tryCatcher(/node_modules/rxjs/internal/util/tryCatch.js:7:31)
在AjaxSubscriber.send(/node_modules/rxjs/internal/observable/dom/AjaxObservable.js:159:50)
在新的AjaxSubscriber(/node_modules/rxjs/internal/observable/dom/AjaxObservable.js:147:15)
在AjaxObservable.订阅(/node\u modules/rxjs/internal/observable/dom/AjaxObservable.js:116:16)
在AjaxObservable.Observable.尝试订阅(/node\u modules/rxjs/internal/Observable.js:43:25)
在AjaxObservable.Observable.subscribe(/node_modules/rxjs/internal/Observable.js:29:22)
反对。<匿名>(/index.js:17:7)
at模块编译(内部/modules/cjs/loader.js:702:30)

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

从“XMLHttpRequest”导入{XMLHttpRequest}
函数createXHR(){
返回新的XMLHttpRequest();
}
常量ajax$=ajax({
createXHR,//<---此处
url:genURL_chan(179),
跨域:是的,
使用凭据:false,
方法:“POST”,
正文:{'since':0,'mode':'Messages','msgCount':5000},
});

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

发表评论