<html>
<head>
<title>Title</title>
<script language="Javascript" >
function OnLoadEvent(){
document.123123.submit();
}
</script>
</head>
<body OnLoad="OnLoadEvent();" >
<form name="123123" action="http://www.123.com" method="POST">
<textarea style="display: none"name="PaReq">
</textarea>
<input type="hidden" name="ew" value="1">Hlleo
<input type="hidden" name="MD" value="testtest">
</form>
</body>
</html>
当呈现上面的代码时,它会显示一个提交按钮,点击此按钮我发布了一个内容类型的帖子请求:form-encoded nad i&m;重定向到http://www.123.com 。所以请求中的主持人是http://www.123.com。此请求返回一个简单的HTML代码。
现在我必须&#34;转换&#34;这段代码及其功能作出反应。所以我写道:
class Form extends React.Component {
state = {
ew: 1,
md: 'testtest',
}
componentDidMount() {
this.props.onSubmit({
termUrl: this.state.termUrl,
md: this.state.md,
});
}
handleSubmit = (e) => {
e.preventDefault();
this.props.onSubmit({
termUrl: this.state.termUrl,
md: this.state.md,
});
}
render() {
return (
<form
name="123123"
onSubmit={this.handleSubmit}
>
<h3>Form</h3>
<textarea style={{ display: 'none' }} name="PaReq"></textarea>
<span></span>
<input
type="hidden"
name="TermUrl"
value={this.state.termUrl}
/>
<input
type="hidden"
name="MD"
value={this.state.md}
/>
</form>
);
}
}
class App extends React.Component {
submit = (values) => {
console.log('Submitting', values);
const url = 'http://www.123.com';
fetch(url, {
method: 'post',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: values,
})
.then((resp) => { console.log('Got response', resp); })
.catch((err) => { console.error('Got error', err); })
}
render() {
return (
<div>
<h2>React App</h2>
<Form onSubmit={this.submit} />
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById('react'));
我的问题是,当渲染组件时,调用正在自动化(CORRECT),因为我在componentDidMount中添加了句柄提交,但我没有导航到http://www.123.com,主机是我的本地主机和不是以前的网址。因此,我的请求显示方法OPTIOS并且无法正常工作。 如何重定向到网址?另外如何从服务器呈现html响应?我应该添加窗口window.location = url?如果我在onSubmit中执行此操作,请求将返回以获取空params。请各位帮忙