我一直在尝试将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/

10-09 15:30
查看更多