有一个用于从JavaScript发出请求的新API:fetch().是否有任何内置机制可以在飞行中取消这些请求?
我有一个fetch-api POST要求:
fetch(url, {
method: 'POST',
body: formData,
credentials: 'include'
})
Run Code Online (Sandbox Code Playgroud)
我想知道这是什么默认超时?我们如何将其设置为特定值,如3秒或无限秒?
我有一个ReactJS应用程序在Chrome中按预期工作,但在IE-11中失败.
问题是这样的 - 我们有两个下拉列表,这些列表是在首次加载页面时从其他服务填充的.该应用程序在SSL下运行.当页面通过IE-11加载时,我得到一个IE-11错误问题,其中第一个请求调用被第二个请求调用取消 - 这里描述了错误:
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/1282036/
所以,我只是向社区询问IE-11是否有解决方法,或者是否依次实现我的代码,如果第一个完成则第二个被调用:
export let getMainData = (dtType, url)=> {
return dispatch=>{
dispatch(sendGet(dtType));
const action = (async(url) => {
const response = await fetch(url);
let data = await response.json();
dispatch(receiveGet(dtType,data));
});
action(url);
};
};
Run Code Online (Sandbox Code Playgroud)
上面的代码是公共代码,React App中的其他人使用它.所以我想的是,如果有一个抽象级别,两个下拉列表可以顺序调用,然后调用上面的下面,也许?
我是初学者。我试图以简单的形式实现来自 React.js 的 POST 请求,但我不知道如何将 POST 请求发送到数据库。我想我也需要<form action="URL">。任何帮助将不胜感激。下面是 React.js(frontend) 的代码
import GameTestResult from './GameTestResult';
export default function App() {
const[data, setData] = useState([]);
const [formData, setFormData] = useState("");
useEffect (() => {
fetch('http://localhost:3000/game')
.then(res => res.json())
.then(result => setData(result.rows))
.catch(err => console.log("error"))
},[]);
const handleChange = event => {
setFormData(event.target.value)
}
const eventHandler = event => {
event.preventDefault();
setFormData("");
}
return (
<div className="App">
<form method="post" onSubmit = {eventHandler}>
<input value = {formData} onChange = {handleChange} />
<button …Run Code Online (Sandbox Code Playgroud)