使用 jQuery 更改 URL 和重定向

IT技术 javascript jquery url redirect
2021-03-03 04:11:39

我有一些这样的代码,

<form id="abc">
  <input type="text" id="txt" />
</form>

现在我想像这样重定向,

var temp = $("#txt").val();
url = "http://example.com/" + temp;
window.location.replace(url);
// or window.location(url);

无论如何在 jQuery 中可以解决这个问题吗?它仍然让我拥有url = http://example.com

6个回答

正如其他答案中提到的,您不需要 jQuery 来执行此操作;您可以只使用标准属性。

然而,看来你似乎不知道之间的区别window.location.replace(url)window.location = url

  1. window.location.replace(url)将地址栏中的当前位置替换为新位置。调用该函数的页面不会包含在浏览器历史记录中。因此,在新位置,单击浏览器中的后退按钮将使您返回到访问包含重定向 JavaScript 的文档之前正在查看的页面。
  2. window.location = url重定向到新位置。在这个新页面上,浏览器中的后退按钮将指向包含重定向 JavaScript 的原始页面。

当然,两者都有它们的用例,但在我看来,在这种情况下你应该坚持使用后者。

PS:您可能http:在 JavaScript 的第 2 行之后忘记了两个斜杠

url = "http://abc.com/" + temp;
@Victor 没有列出任何古老的 IE 版本。@bobince 的评论是正确的:stackoverflow.com/a/10016109/96656#comment18225061_10016109
2021-05-02 04:11:39
但要非常正确,您应该设置 window.location.href 而不是 window.location。虽然现在两者都工作,但后者是一个对象(当然不支持在古老的 IE 版本中分配字符串......)
2021-05-05 04:11:39
减号 1. jQuery 不够用
2021-05-10 04:11:39

告诉你真相,我仍然没有得到你需要的东西,但是

window.location(url);

应该

window.location = url;

搜索window.location参考会告诉你。

jQuery 没有这个选项,也不应该有一个选项。这是完全有效的 javascript,jQuery 没有理由为此提供包装函数。

jQuery 只是 javascript 之上的一个库,即使您使用 jQuery,您仍然可以使用普通的 javascript。

顺便说一句 window.location 不是一个函数而是一个属性,你应该像这样设置:

window.location = url;
对声称 jQuery 的反对票没有一个方法(即使这是不必要的矫枉过正,不应该被推荐) $jq(window).attr("location"," yourdomain.com" ); 或 $(location).attr('href',url);
2021-04-23 04:11:39
投票是因为你知道......这是正确的“jQuery 中没有针对此的特定方法。”,为什么你想要一个如此丑陋的解决方案: $jq(window).attr("location","yourdomain. com"); 当你可以有类似 window.location = url;
2021-04-27 04:11:39
赞成撤消该反对票。Pim 的回复很容易理解为“jQuery 中没有针对此的特定方法”。对词汇语义投反对票是对该特权的滥用。
2021-05-06 04:11:39
var temp="/yourapp/";
$(location).attr('href','http://abcd.com'+temp);

试试这个......用作替代品

试试这个...

$("#abc").attr("action", "/yourapp/" + temp).submit();

这是什么意思:

找到一个带有id“abc”的表单,将其attribute命名为“action”,然后提交...

这对我有用... !!!

大声笑,这是一些有趣的 S!不过我喜欢这个主意。创意加分!
2021-05-05 04:11:39