我必须发布{输入}数据以http://localhost:4000/predictionAxios。但是{输入}变为未定义。
我使用const而不是类Main扩展组件. onChange,它设置表单数据。
const Main = ({ value, suggestions, auth: { user } }) => {
const [formData, setFormData] = useState("");
const [messages, setMessages] = useState([]);
const { input } = formData;
const onChange = e => setFormData(e.target.value);
const onSubmit = event => {
event.preventDefault();
setMessages(prevMsgs => [...prevMsgs, formData]);
console.log({ input });
阿希奥斯邮报。
axios
.post(
`http://localhost:4000/prediction`,
{ input },
{ crossdomain: true }
)
.then(res => {
console.log(res.data);
//setMessages(prevMsgs => [...prevMsgs, formData]);
})
.catch(error => {
console.log(error.message);
});
};
返回(表单)时带有onSubmit、onChange。
return (
<div className="true">
<br />
<form noValidate onSubmit={e => onSubmit(e)}>
<div className="input-group mb-3">
<input
name="input"
type="text"
className="form-control"
placeholder="Type text"
onChange={e => onChange(e)}
/>
)}
<div className="input-group-append">
<button className="btn btn-outline-secondary">Send</button>
</div>
</div>
</form>
</div>
);
};
正如我在评论部分所提到的那样,formData
是一个字符串,我看到它没有一个名为input
的属性,您试图对其进行解构,这就是为什么它总是未定义的原因。
如果您确实需要axios的这种格式,那么您可以尝试使用
useState
更改formData
的结构,如下所示:
const [formData, setFormData] = useState({input: null});
那么也许你可以尝试更新为:
const onChange = e => setFormData({input: e.target.value});
我希望这有帮助!
我试图通过反应路由器将道具从一个组件传递到另一个组件。当我试图从子组件获取道具时,我得到了这样一条消息。这是我的代码: Tracks.jsx: app.jsx: Album.jsx:
问题内容: React 在promise中没有定义。这是我的代码: 这是错误代码: 问题答案: 可能没有约束力。 如果您可以使用ES6语法,请尝试用箭头函数替换。它会自动绑定: 或手动绑定:
问题内容: 这是我第一次使用axios,遇到错误。 使用正确的url和参数,当我检查网络请求时,确实可以从服务器中获得正确的答案,但是当我打开控制台时,我看到它没有调用回调,而是捕获了错误。 错误:网络错误堆栈跟踪:createError @ http:// localhost:3000 / static / js / bundle.js:2188:15 handleError @ http://
我有一个Vue SPA,我使用Axios处理请求,Vue Axios应用它,vuex存储令牌。但当我发送一个请求时,头授权将变成Bearer未定义或Bearer null。 流程是,通过登录,我检索一个令牌,将其保存到会话存储中,分派一个登录操作,我的vuex存储将从会话存储中设置一个处于状态的令牌。在我登录并将路由器重定向到“/”后,我想向/foo发送GET请求以及我的令牌。但这里我的代币没有定
问题内容: 我正在运行AnchorCMS,而我刚刚升级到0.8版。尝试运行安装程序时,出现“未指定输入文件”错误。我相信这很可能是.htaccess问题,但是我不确定应该使用什么正确的设置。 我的网站可以在这里找到。 我的.htaccess设置为: 如果有帮助,我还将GoDaddy用作托管服务提供商。 问题答案: 未 指定输入文件 是由于服务器上PHP的实现而向您显示的消息,在这种情况下,这表示C
这是Ubuntu 16.04中的nginx配置文件。4 LTS: 当访问网站我得到:没有输入文件指定。 存在/var/run/php/site.com.sock: 这是 /var/log/nginx/error.log *7在stderr中发送的FastCGI:“无法打开主脚本:/var/www/html/public/index.php(没有这样的文件或目录)”,同时从上游读取响应头,客户端:x