ajax请求过快导致status=0

德鲁大叔吃花生 2017-09-13 10:25:46
现在有2个页面,每个页面都是用的ajax去后台请求数据的,但是每个页面请求数据是需要时间的,如果快速的切换这2个页面,ajax就会出错,status=0,(0 - (未初始化)还没有调用send()方法),现在一个不友好的解决方法是将ajax改成同步的方式,但这样浏览器会出现警告:Synchronous XMLHttpRequest on the main thread is deprecated,大概意思就是ajax不推荐使用同步的方式请求数据,有其他解决办法吗
...全文
454 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
ajax jsonp方式访问
  • 打赏
  • 举报
回复
引用 5 楼 net_lover 的回复:
这个要看一下你的ajax代码怎么写的了

$.ajax({
		url : url,
		type : "POST",
		dataType : 'jsonp',
		jsonp : "callback",
		data : param,
		//async: false, //使用同步请求
		success : function(data) {
			//数据请求页面渲染
		},
		error : function(response) {
		},
		timeout : 6000
	});
孟子E章 2017-09-16
  • 打赏
  • 举报
回复
这个要看一下你的ajax代码怎么写的了
  • 打赏
  • 举报
回复
引用 3 楼 trainee 的回复:
我一般 在界面上处理, 使其串行化. ajax 发送后, 在界面加个遮罩, 阻止界面进一步操作, 收到结果或timeout后 隐藏遮罩.
你这个还是让ajax变成同步的意思
trainee 2017-09-14
  • 打赏
  • 举报
回复
我一般 在界面上处理, 使其串行化. ajax 发送后, 在界面加个遮罩, 阻止界面进一步操作, 收到结果或timeout后 隐藏遮罩.
  • 打赏
  • 举报
回复
引用 1 楼 net_lover 的回复:
是切换标签页那种吗?如果终止请求可以调用abort或者设置为null吧。 如果想要数据,则设置2个相互独立的对象应该不会影响 关键在于你是什么样的方式
就是左侧一个树图列表,列表里面2个链接,链接到2个页面,每个页面都要请求自己的数据,现在问题是我点击一个页面,这个时候页面数据还没有加载完成,我再点击另一个链接,这个时候ajax就会出错
孟子E章 2017-09-13
  • 打赏
  • 举报
回复
是切换标签页那种吗?如果终止请求可以调用abort或者设置为null吧。 如果想要数据,则设置2个相互独立的对象应该不会影响 关键在于你是什么样的方式

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧