js页面重定向跳转被阻拦

JavaScript012

js页面重定向跳转被阻拦,第1张

常规页面location.href跳转被阻止时,不涉及前端部分。

也有可能是浏览器本身对于http和https的证书验证拦截,并非bug。

以下为https在大部分浏览器标识。

部分浏览器会因以下原因阻止页面的重定向。

在现行的网站应用中URL重定向的应用有很多:

404页面处理、网址改变、多个网站地址等;

本质上就是将当前使用者的网址从一个网址导向到另外的一个网址上面去;

实现重定向的方式有很多种,有服务器端配置、后端程序重定向处理、前端js重定向;

前端重定向的实现:

在众多的BOM对象中,location算是最重要的对象之一了,使用location可以通过多种方式来改变浏览器的位置,如:

location.assign("http://www.baidu.com")

window.location="http://www.baidu.com"

location.href="http://www.baidu.com"

另外修改location对象的其他属性也可以改变当前加载的页面。

调用官方api的时候,有一步需要用post发送请求,于是上网查了些资料,发现一般发送post请求的做法是(下面是简化版代码):

var querystring = require('querystring')

var https = require('https')

var post_data = querystring.stringify({

"name":"BOb",

"age":30,

"job":"teacher"

})

var post_req = https.request(post_opt,function(res){

//some code here

})

post_req.write(post_data)

post_req.end()

然而官方api要求发送的数据是这样的:

{

"action_name": "QR_LIMIT_SCENE",

"action_info": {

"scene": {

"scene_id": 1000

}

}

}

也就是说,调用了querystring.stringify方法之后,变成了action_name=QR_LIMIT_SCENE&action_info=。