location.href,locationhrefreplace

http://www.itjxue.com  2023-01-05 00:02  来源:未知  点击次数: 

location.href不跳转是怎么回事

编写代码,

js 用location.href做跳转,

然后打开浏览器查看我们发现 没有请求 然后查看代码发现 a标签的超链接为javascript:void(0); 把a标签的href中的javascript:void(0);修改为# 即可解决

location.href()和location.assign()这两个方法有什么不同呢?

很简单

location.href是一个属性,要这样使用:

location.href=''

而location.assign('') 就是 location.href=''

至于

location.replace('')与前两者的区别是,在replace之后,浏览历史就被清空了(href与assign方法会产生历史记录)。

建议:使用replace。因为前两者会产生历史记录,而浏览者如果点‘后退’按钮,就会产生'redirection loop',会被浏览器禁止。

js里用location.href跳转

那肯定是你加了之后你的url非法格式了,当然不跳转了,你直接拼接innerHTML容易出错的,有的东西是不能直接拼接的,例如转义字符或者空格什么的,中文参数过长什么的还要使用encodeComponent或者encode方法呢。

function?test()?{

????var?table?=?document.getElementById("rule");

????var?stuIds?=?"";

????//?命名要规范,不然rows和长度实在难以凑到一起去想象。

????var?len?=?table.rows.length;

????//?这里i从0开始,索引都是从0开始,不是1

????//?这里不要等于len,不然最后一个undefined

????for?(var?i?=?0;?i??len;?i++)?{

????????//?这里累加就好,简洁为上

????????stuIds?+=?table.rows[i].cells[0].innerHTML;

????}

????//?在这里F12控制台输出信息,看看到底是什么乱七八糟的东西

????//?是不是和你的后台所需要的参数一致

????//?一般来说都有分隔符分割每个学生的id,你直接累加,试问如何区分??

????//到后台了,肯定是被分割的id,然后后台split切割什么的,得到数组

????//?于是被操作进数据库。

????console.debug(stuIds);

????//?location.href和window.location.href是一个意思,

????//?locatin就是window的对象属性,默认window是全局性质,

????//?任意全局变量都是他的对象属性,不写window就是默认他

????location.href?=?"ReteResult.jsp?stuIds="?+?stuIds;

}

input?value="点我"?type="button"?onclick="test()"

最后,最重要的,采纳即可。

(责任编辑:IT教学网)

更多

相关网络赚钱文章

推荐网络赚钱文章