我正在尝试使用import { of } from 'rxjs';
import { expand, takeWhile, reduce } from 'rxjs/operators';
let count = 0;
const FINISH = "finished";
const limit = 5;
const send$ = () => of(count++ < limit ? "sent" : FINISH);
const expander$ = send$().pipe(
expand(resp => send$()),
takeWhile(resp => resp !== FINISH),
reduce((acc, val) => acc ? acc + val : val, null)
);
const subscribe = expander$.subscribe(console.log);
提交form
,而XmlHttpRequest
可以正常工作,我应该收到POST
。但是,我想保留下一页并使用该页面返回值。
我拿了文档,出于学习目的,我选择了long
对象而不是XMLHttpRequest
。
但是我仍然无法保留当前页面
提交方法
ajax
PS 如果您想知道为什么我使用window.methods={
create: function (ticketValue) {
return new Promise((resolve, reject) => {
var form = document.getElementById('createForm');
var input = document.getElementById('ticket'); //just setting a form field before submit
input.value = ticketValue;
form.onerror = () => {
reject("could not post");
}
form.submit(function (e) {
var xhr = new XMLHttpRequest();
xhr.open('POST', form.getAttribute('action'));
xhr.setRequestHeader('Content-Type', form.getAttribute('Content-Type'));
xhr.onload = function () {
if (xhr.status == 200) {
resolve(xhr.response);
}
else if (xhr.status != 200) {
reject("Failed to submit form with status" + xhr.status);
}
}
var data = new FormData(form);
xhr.send(data);
});
});
}
}
,那是因为我在js和Promise
之间使用interop
且需要将其包装在C#
中进行检索。