Rxjs 6を使用して、私は取得し続けます、
エラー:CORSはブラウザでサポートされていません
私のコードはとてもシンプルです、
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)
ajax()
呼び出しに渡される実際の構成にcreateXHR
関数を配置する必要があります。
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
なんらかの理由で バグです 実際には修正されませんでした。まず、xmlhttprequest
をインストールする必要があります。
_npm install xmlhttprequest;
_
それを少し編集して、これらの1つを追加する必要があります
_## CommonJS
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
## ES2015
import { XMLHttpRequest } from 'xmlhttprequest';
_
そして、これをajax()
の呼び出しに入れます。
_createXHR: function () {
return new XMLHttpRequest();
}
_
このように見えるはずです、
_import { ajax } from 'rxjs/ajax';
import { XMLHttpRequest } from 'xmlhttprequest';
const ajax$ = ajax({
url: genURL_chan(179),
crossDomain: true,
withCredentials: false,
method: 'POST',
body: { 'since': 0, 'mode': 'Messages', 'msgCount': 5000},
});
_