Vue.js + Express:无法让.prevent / e.preventDefault()工作吗?

时间:2016-06-28 03:22:40

标签: javascript node.js express vue.js preventdefault

我一直试图将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!");
}

但是这仍然没有阻止页面重新加载。任何帮助或提示?

1 个答案:

答案 0 :(得分:1)

document.getElementById("myForm").submit(); 这是原因。它不仅仅是提交数据,它还会完成提交按钮所能做的所有事情。

如果你在我的位置,请查看AJAX。