在使用其他网址点击时,希望更改导航栏中的特定网址。
我希望用户点击“联系我们”'并被带到我的主网站,但我不能硬编码想要的链接,所以我需要使用ajax-jquery来改变它。
$(document).ready(function () {
$('a').on('click', function (e) {
var $this = $(this);
$.ajax({
url: 'GetUrl',
async: false,
success: function (url) {
$this.attr("href", url);
$this.attr("target", "_blank");
},
error: function () {
e.preventDefault();
}
});
})
})
我不确定上述代码是否可用于执行此操作。
答案 0 :(得分:0)
好吧,你应该防止' a'的默认行为。当你从你的ajax调用中获取url然后进行重定向。从用户的角度来看,它会变得奇怪,因为在点击和重定向之间会有一段延迟(取决于ajax调用需要多长时间),但我认为它是&#39 ;解决问题的方法:
$(document).ready(function () {
$('a').on('click', function (e) {
var $this = $(this);
e.preventDefault();// Prevent the default behaviour of a
$.ajax({
url: 'GetUrl',
async: false,
success: function (url) {
window.location.href = url;// Force the redirection on success
},
error: function () {
e.preventDefault();
}
});
})
});
希望这有帮助。
答案 1 :(得分:0)
$(document).ready(function () {
$('a').on('click', function (e) {
var $this = $(this);
$.ajax({
url: 'GetUrl',
async: false,
success: function (url) {
window.location.href = url;// Force the redirection on success
},
error: function () {
e.preventDefault();
}
});
})
});
原来这个工作正常,我试图在Mura CMS中实现它,不幸的是它不太喜欢它,这就是我遇到问题的原因。
没有设法让它在我的应用程序中运行,但你已经让我怀疑我没有做错任何事。我使用了Mura的代码并没有遇到任何问题。
全部谢谢