我一直试图将Vue.js和Express混合在一起,用于小应用程序。
我目前正在试图让客户端通过表单将数据发送到服务器,而不刷新页面。显然,我期待e.preventDefault()
Vue.js,根据文档here,您可以使用我尝试过的事件修饰符来执行此操作:
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!");
}
但是这仍然没有阻止页面重新加载。任何帮助或提示?
答案 0 :(得分:1)
document.getElementById("myForm").submit();
这是原因。它不仅仅是提交数据,它还会完成提交按钮所能做的所有事情。
如果你在我的位置,请查看AJAX。