我一直在尝试将Vue.js和Express融合在一起,以用于小型应用程序。
我目前正在努力尝试使客户端通过表单将数据发送到服务器,而不刷新页面。显然,我期待e.preventDefault()
根据文档here,Vue.js允许您使用事件修饰符执行此操作,我已经尝试过:
form(id="myForm", method="POST", action="/", v-on:submit.prevent="submitForm")
(我还将Jade / Pug用作模板引擎)
如您所见,我以与文档中完全相同的方式使用prevent修饰符,并且调用了“ submitForm”方法,但这只是不阻止刷新。
我更深入地尝试了老式的vue.js方法,该方法将事件参数直接传递到SubmitForm方法中,以尝试使用preventDefault()直接命中它
submitForm: function(e) {
e.preventDefault();
document.getElementById("myForm").submit();
console.log("Called!");
}
但这仍然不能阻止页面重新加载。有帮助或提示吗?
最佳答案
document.getElementById("myForm").submit();
这就是原因。这不仅是要提交数据,还要做提交按钮所要做的一切。
如果您处于我的位置,请查看AJAX。
关于javascript - Vue.js + Express:无法使.prevent/e.preventDefault()工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38066532/