我以前见过这样的问题,但我没有找到合适的答案。
我有一个vuejs应用程序,其中提交功能可以在浏览器(chrome、firefox等)上正常工作,但不能在手机上提交(使用safari测试)。
组件中的提交方法如下所示:
methods: {
async removeBet(item) {
this.bet.id = item
try {
await this.$http.post("/user/deletePendingBet", this.bet);
} catch (err) {
console.log(err)
}
},
}
我这样调用该方法:
<a class="dropdown-item" @click="removeBet(value._id)" href="/newBet">Delete</a>
我假设不需要db查询,因为这与方法的调用方式有关。
我在移动开发方面没有丰富的经验,所以我的问题是safari是否只接受以某种方式提交的表单?在这种情况下,使用js框架(如vue)提交表单的正确方式是什么?
1条答案
按热度按时间3hvapo4f1#
首先,您使用的是锚定标记,这不是一个好的实践。
因为您没有阻止浏览器调用您的
@click
,因此它不会调用@click
,因为浏览器将保持其默认行为,并调用href
.我建议把它改成
<div>
或<span>
,但这可能是使用的一个要求<a>
,所以要解决这个问题,首先要删除href
然后使用@click.prevent="remove..."
让它工作。它将阻止的默认行为<a>
我会打电话的@click
.通知
.prevent
之后@click
. 你可以在这里读更多。