url:url,
data:para,
dataType: 'json',
async:false,//(默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
success: function(data){}})
这个问题也是困扰我一个上午,查了很多方法想让vue支持同步请求,但都失败了。于是我打算使用原生js的请求方法,来让页面实现同步请求的功能。毕竟原生的js 在哪个框架下都是可以使用的。附上代码:// js发送同步请求
let userId = this.user.userIdlet sectionId = this.currentSection
let request = new XMLHttpRequest()
request.open('POST', `/${prefixApi}learning-progress?userId=${userId}&sectionId=${sectionId}`, false) // 第三个参数 false 代表设置同步请求
request.setRequestHeader('Accept', 'application/json')
request.setRequestHeader('Content-Type', 'application/json')
request.send(JSON.stringify({learningCompleted: this.learningCompleted, playbackTime: this.currentTime}))
if (request.status === 200) {
console.log('success')
} else {
this.NETWORK_MODAL.show = true
}