我有一个javascript函数:
function foo() { return "/a/b/SomeApi"; }
然后我的网页上有href
个链接。我希望此链接指向我的javascript函数返回的值,这样当用户点击该链接时,就好像用户点击了包含网址/a/b/SomeApi
的链接一样。
我试过以下:
<a href="javascript:foo()">Click</a>
但结果是浏览器会打开一个显示文字值/a/b/SomeApi
的新窗口,而不是向服务器发送请求。
有什么建议吗?感谢。
答案 0 :(得分:1)
而不是返回字符串,用它设置当前页面的位置,如下所示......
function foo() { document.location.href = "/a/b/SomeApi"; }
击> <击> 撞击>
正如@ haim770所指出的那样 - 这些不是你正在寻找的机器人。
如果要专门设置href
属性,则必须从链接外部执行此操作。首先,您应该为链接指定id
属性,例如此...
<a id="myAnchor">Click</a>
然后,这段代码应该放在之后页面中的元素,或者作为&#34;文档加载的一部分&#34;一段代码。
document.getElementById("myAnchor").href = "/a/b/SomeApi";
如果您使用的是jQuery(不在您的标签列表中),您可以执行以下操作...
$(function(){
$("#myAnchor").attr("href", "/a/b/SomeApi")
});
答案 1 :(得分:0)
我认为HREF并不意味着充满活力;为此,只需使用onclick
属性,例如:
<a href="#" onclick="window.location.assign(foo())">Click</a>