比如说我的项目地址 http://localhost:8080/helloword/index.html?world=china,我想进入index.html页面的时候,跳转到百度首页(http://www.baidu.com),并且把world=china,参数带到百度首页,这个JS怎么做呢?
6 个解决方案
#1
location。href=url
#2
location.href='www.baidu.com';
#3
转发:RequestDispatcher.forward
重定向:HttpServletResponse.sendRedirect
1 请求转发只能将请求转发给同一个WEB应用中的组件,而重定向还可以重新定向到同一站点不同应用程序中的资源,甚至可以定向到一绝对的URL。
2 重定向可以看见目标页面的URL,转发只能看见第一次访问的页面URL,以后的工作都是有服务器来做的。
3 请求响应调用者和被调用者之间共享相同的request对象和response对象,重定向调用者和被调用者属于两个独立访问请求和响应过程。
4 重定向跳转后必须加上return,要不然页面虽然跳转了,但是还会执行跳转后面的语句,转发是执行了跳转页面,下面的代码就不会在执行了。
重定向:HttpServletResponse.sendRedirect
1 请求转发只能将请求转发给同一个WEB应用中的组件,而重定向还可以重新定向到同一站点不同应用程序中的资源,甚至可以定向到一绝对的URL。
2 重定向可以看见目标页面的URL,转发只能看见第一次访问的页面URL,以后的工作都是有服务器来做的。
3 请求响应调用者和被调用者之间共享相同的request对象和response对象,重定向调用者和被调用者属于两个独立访问请求和响应过程。
4 重定向跳转后必须加上return,要不然页面虽然跳转了,但是还会执行跳转后面的语句,转发是执行了跳转页面,下面的代码就不会在执行了。
#4
Url.prototype =
{
getvalue: function(para)
{
return this.paraMap.get(para);
}
}
function Url(urlstr)
{
this.paraMap = new Map();
if (urlstr.indexOf('?') > -1)
{
urlstr = urlstr.substr(1);
}
if (urlstr.indexOf('&') > -1)
{
var pvarr = urlstr.split('&');
for (var i = 0; i < pvarr.length; i++)
{
var pv = pvarr[i].split('=');
this.paraMap.put(pv[0], pv[1]);
}
}
else
{
var pv = urlstr.split('=');
this.paraMap.put(pv[0], pv[1]);
}
}
{
getvalue: function(para)
{
return this.paraMap.get(para);
}
}
function Url(urlstr)
{
this.paraMap = new Map();
if (urlstr.indexOf('?') > -1)
{
urlstr = urlstr.substr(1);
}
if (urlstr.indexOf('&') > -1)
{
var pvarr = urlstr.split('&');
for (var i = 0; i < pvarr.length; i++)
{
var pv = pvarr[i].split('=');
this.paraMap.put(pv[0], pv[1]);
}
}
else
{
var pv = urlstr.split('=');
this.paraMap.put(pv[0], pv[1]);
}
}
#5
var world= new Url(location.search).getvalue("world");用法
#6
location.href="http://www.baidu.com?world="+world搞定下班
#1
location。href=url
#2
location.href='www.baidu.com';
#3
转发:RequestDispatcher.forward
重定向:HttpServletResponse.sendRedirect
1 请求转发只能将请求转发给同一个WEB应用中的组件,而重定向还可以重新定向到同一站点不同应用程序中的资源,甚至可以定向到一绝对的URL。
2 重定向可以看见目标页面的URL,转发只能看见第一次访问的页面URL,以后的工作都是有服务器来做的。
3 请求响应调用者和被调用者之间共享相同的request对象和response对象,重定向调用者和被调用者属于两个独立访问请求和响应过程。
4 重定向跳转后必须加上return,要不然页面虽然跳转了,但是还会执行跳转后面的语句,转发是执行了跳转页面,下面的代码就不会在执行了。
重定向:HttpServletResponse.sendRedirect
1 请求转发只能将请求转发给同一个WEB应用中的组件,而重定向还可以重新定向到同一站点不同应用程序中的资源,甚至可以定向到一绝对的URL。
2 重定向可以看见目标页面的URL,转发只能看见第一次访问的页面URL,以后的工作都是有服务器来做的。
3 请求响应调用者和被调用者之间共享相同的request对象和response对象,重定向调用者和被调用者属于两个独立访问请求和响应过程。
4 重定向跳转后必须加上return,要不然页面虽然跳转了,但是还会执行跳转后面的语句,转发是执行了跳转页面,下面的代码就不会在执行了。
#4
Url.prototype =
{
getvalue: function(para)
{
return this.paraMap.get(para);
}
}
function Url(urlstr)
{
this.paraMap = new Map();
if (urlstr.indexOf('?') > -1)
{
urlstr = urlstr.substr(1);
}
if (urlstr.indexOf('&') > -1)
{
var pvarr = urlstr.split('&');
for (var i = 0; i < pvarr.length; i++)
{
var pv = pvarr[i].split('=');
this.paraMap.put(pv[0], pv[1]);
}
}
else
{
var pv = urlstr.split('=');
this.paraMap.put(pv[0], pv[1]);
}
}
{
getvalue: function(para)
{
return this.paraMap.get(para);
}
}
function Url(urlstr)
{
this.paraMap = new Map();
if (urlstr.indexOf('?') > -1)
{
urlstr = urlstr.substr(1);
}
if (urlstr.indexOf('&') > -1)
{
var pvarr = urlstr.split('&');
for (var i = 0; i < pvarr.length; i++)
{
var pv = pvarr[i].split('=');
this.paraMap.put(pv[0], pv[1]);
}
}
else
{
var pv = urlstr.split('=');
this.paraMap.put(pv[0], pv[1]);
}
}
#5
var world= new Url(location.search).getvalue("world");用法
#6
location.href="http://www.baidu.com?world="+world搞定下班