ajax如何保存修改后的数据,修改实例数据,而AJAX提交,恢复输入数据

ajaxSubmit: function(event) {

this.loader = true;

var form = event.target;

var action = form.getAttribute('action');

var data = new FormData(form);

var method = form.getAttribute('method').toUpperCase();

this.$http({

body: data,

method: method,

url: action

}).then(function(response) {

if (response.body.alerts) {

response.body.alerts.forEach(function(alert) {

this.alerts.push(alert);

}.bind(this));

}

this.loader = false;

}, function(response) {

// same as success callback

});

}

比方说,我有一个“测试”的默认值的输入。如果我更新为“Test111”然后提交。该值将恢复为“测试”。提交的值是正确的,因为“Test111”被保存到我的数据库中,并且在刷新后,输入具有正确的值。

我设法缩小了这个问题。我观察到,只有在ajaxSubmit方法中更改实例上的数据时才会发生。例如,如果我删除行:

this.loader = true;

this.loader = false;

this.alerts.push(alert);

一切都按预期工作。

此外,如果输入通过v-model绑定到实例,则不会恢复其值。

因此,最终我想我发现了问题的根源,但我不明白,而且我也解决不了。

任何帮助将不胜感激!

+0

@craig_h它是一个大型应用程序的一部分,但我设法将一个简单的小提琴放在一起,它复制了这个问题:https://jsfiddle.net/ilpet/v3xx02n9/ –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值