使用jQuery更改URL和重定向

gac*_*con 130 javascript url jquery redirect

我有一些像这样的代码,

<form id="abc">
  <input type="text" id="txt" />
</form>
Run Code Online (Sandbox Code Playgroud)

现在我想像这样重定向,

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

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

Mat*_*ens 337

正如其他答案中所提到的,你不需要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;
Run Code Online (Sandbox Code Playgroud)

  • +1用于解释`window.location.replace` (41认同)
  • 但要非常正确,您应该设置window.location.href而不是window.location.虽然现在都工作,后者是一个对象(当然不支持在古老的IE版本中分配字符串...) (5认同)

bal*_*dre 40

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

window.location(url);
Run Code Online (Sandbox Code Playgroud)

应该

window.location = url;
Run Code Online (Sandbox Code Playgroud)

window.location引用上搜索会告诉你.


Pim*_*ger 18

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

jQuery只是一个基于javascript的库,即使你使用jQuery,你仍然可以使用普通的javascript.

btw window.location不是一个函数,而是一个你应该像这样设置的属性:

window.location = url;
Run Code Online (Sandbox Code Playgroud)

  • 倾向于撤消该downvote.Pim的响应很容易理解为"jQuery中没有针对此的特定方法." 对词汇语义进行投票是滥用这种特权. (9认同)

小智 9

var temp="/yourapp/";
$(location).attr('href','http://abcd.com'+temp);
Run Code Online (Sandbox Code Playgroud)

试试这个...用作替代方案