前端通过http请求外网反馈,判断当前是内网还是外网
遇到一个需求,项目私有化部署后,不能使用外网,无法使用外部资源链接。需要程序判断当前环境是外网还是内网,以兼容内、外网两种使用方式,分别做处理。// 当前vue项目,所以没有使用jquery、ajax。而使用原生httpRequestlet that = this// 第一步:建立所需的对象var httpRequest = new XMLHttpRequest()// 第二步,获取一个公网链接,
·
遇到一个需求,项目私有化部署后,不能使用外网,无法使用外部资源链接。
需要程序判断当前环境是外网还是内网,以兼容内、外网两种使用方式,分别做处理。
// 当前vue项目,所以没有使用jquery、ajax。而使用原生httpRequest
let that = this
// 第一步:建立所需的对象
var httpRequest = new XMLHttpRequest()
// 第二步,获取一个公网链接,可以是你原本要访问的地址
httpRequest.open('GET', 'https://lbs.netease.im/lbs/webconf.jsp', true)
// 第三步,设置响应超时时间
httpRequest.timeout = 3000
// 请求成功,使用公网方式
httpRequest.onload = function () {
// 请求完成。在此进行处理。
if (httpRequest.readyState === 4 && httpRequest.status === 200) {
param.isPublic = true
that.initIMByType(param)
}
}
// 响应超时,使用内网方式
httpRequest.ontimeout = function (e) {
// XMLHttpRequest 超时。在此做某事。
param.isPublic = false
that.initIMByType(param)
}
// 第四步:发送请求
httpRequest.send()
更多推荐
已为社区贡献4条内容
所有评论(0)