-1
我想从我的React组件提交远程表单。后端是使用Ruby on Rails制作的。加入POST的参数
<form
className="message_form style__brook flex__column cen-hor cen-ver"
id="new_message"
acceptCharset="UTF-8"
onSubmit={this.handleSubmit}
>
<input name="utf8" type="hidden" value="✓"/>
<input placeholder="Name" type="text" name="message[name]" id="message_name"/>
<input placeholder="Mail" type="email" name="message[email]" id="message_email"/>
<input placeholder="USD" type="number" name="message[budget]" id="message_budget"/>
<input value="Evaluation" type="hidden" name="message[subject]" id="message_subject"/>
<textarea placeholder="Message" name="message[body]" id="message_body"></textarea>
<input type="submit" name="commit" value="Send" disabled="disabled" data-disable-with="Send"/>
</form>
和handleSubmit看起来是这样的:
handleSubmit(e) {
e.preventDefault();
const object = getObjectFromForm();
axios.post('/send_message', object)
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
}
getObjectFromForm
是一个函数在那里我得到创建一个对象,所以我可以将其添加为参数。 object
看起来是这样的:
object = {utf: "...", message: {"name": ..., "email": ... etc.}}
当我添加了object
到爱可信POST功能,它就会与请求通过,但不存在附加到我的参数,另一个对象,关键是email
,它包含object
的按键和值。当我从axios方法中删除object
时,没有参数传递。
我的问题是 - 为什么第二个email
对象在我没有定义的时候通过?
显示一个完整的代码'getObjectFromForm' – MysterX
请发布您的getObjectFromForm方法逻辑,以便我们可以看到它在做什么,并发布实际的json数据转储的响应 - 例如复制/粘贴'console.log(getObjectFromForm());'的输出。 –
对象值是我写给你的。即使当我用一些手写对象补充对象时,只包含我需要的键和值,仍然有另一个对象附加为“email” – Ancinek