关于关闭页面之后的ajax提交问题

情况:
1、事件中有足够的条件可以发送。
微信安卓端: 借助事件unload;
微信iso: 借助事件pagehide;
事件中使用浏览器的接口:

function sendAjax(){
	window.navigator.sendBeacon(url,data);
}
window.addEventListener("unload/pagehide",function(){
    sendAjax();
});

pc.或者移动端;
借助 onbeforeunload;

	functionsendMes(){
		const xht= new XMLHttpRequest();
		xht.open("GET",url,true);
  		xht.send(data);
	}
	window.onbeforeunload = function(){
			sendMes();
			return " leave Now?"
	}

2、刷新。
同样借助事件,当事件中没有足够的条件发送请求。那就使用sessionstorage保存需要发送的参数。当加载完成之后再发送。

function saveAjax(){
	sessionStorage.data = JSON.stringify({});
}
window.addEventListener("unload/pagehide",function(){
    saveAjx();
});
windwo.onload = function(){
	if(sessionStorage.datat){
		sendAjax();
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果您使用 elementui 的 ajax 方法提交表单并希望在提交成功后刷新页面,可以在 ajax 方法的 `success` 回调函数中使用 `location.reload()` 方法来刷新页面。 例如: ``` this.$ajax({ url: '/api/submit-form', method: 'post', data: formData, success: function (response) { // 在这里执行刷新页面的操作 location.reload(); } }); ``` 注意,在刷新页面之前,您可能需要先执行一些其他操作,例如关闭弹出窗口或提示用户提交成功。 ### 回答2: 如果使用ElementUI进行ajax提交成功后刷新页面,可以通过以下步骤实现: - 在ajax请求的success回调函数中,调用window.location.reload方法刷新页面。 - 首先,在页面上引入ElementUI的相关资源文件,确保ElementUI的样式和功能能够正常加载和渲染。 - 然后,添加一个事件监听器,当提交按钮被点击时,执行ajax请求。 - 在ajax请求的success回调函数中,调用window.location.reload方法刷新页面。这重新加载当前页面,并执行一次完整的页面生命周期,包括重新加载所需的资源文件、重新执行页面的初始化操作等。 - 最后,根据具体的业务需求,可能还需要在页面刷新前保存一些已修改的数据,以便刷新后能够正确显示。 需要注意的是,这种方法重新加载整个页面,可能导致用户当前的操作和状态丢失。如果希望只更新某个部分的内容而不刷新整个页面,可以考虑使用Vue.js等前端框架来实现局部刷新的功能。 ### 回答3: 使用Element UI中的Ajax方法提交成功后刷新页面,可以通过以下步骤实现: 1. 在HTML页面中引入Element UI的相关文件,确保能够使用Element UI的组件和方法。 2. 在JavaScript代码中使用Ajax方法向服务器提交数据。可以通过axios或者Element UI提供的$this.$http.post进行Ajax请求。 例如使用axios,可以使用如下代码: ```javascript axios.post('提交地址', 参数) .then(function (response) { console.log(response); // 提交成功后执行刷新页面的逻辑 window.location.reload(); }) .catch(function (error) { console.log(error); }); ``` 3. 在Ajax请求的then方法中,当提交成功后执行刷新页面的逻辑。可以使用`window.location.reload`方法重新加载当前页面来实现页面刷新。 总结: 使用Element UI的Ajax方法提交成功后刷新页面,可以通过使用axios或者$this.$http.post等方法发送Ajax请求,然后在请求成功的回调函数中执行`window.location.reload`来实现页面刷新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值