更新 - 我正在处理一个简单的功能,在点击后将您重定向到包含您在表单中选择的产品的外部页面。问题是我需要首先重定向到#34;感谢您购买"页面然后重定向到外部...这是我的代码以及我是如何尝试的。
function addToListAndRedirect(item_id){
var email = jQuery("[name='your-email']").val();
var amount = jQuery("[name='vinbrevet-contact-amount']").val();
var subscription = {
ListIds: [
"beeb2f48-5265-443e-960f-4f995d8c2942"
],
ConfirmationIssue: { IssueId: "cd081857-4f30-4da1-ab5c-a7883f62d99c" },
Contact: {
Email: email
}
}
window.location.href = "http://vinbrevet.se/success?items="+ item_id + ":" + amount;
jQuery.post("http://ui.admlo.se/Api/Subscriptions/c03a4119-f6a8-4d86-b34f-f16177ec7912", subscription).always(function() {
function redirectToExternal(item_id, amount) {
window.location.replace("https://www.systembolaget.se/dryckeslista?items="+item_id+":" + amount);
}
});
}
和/成功
function redirectToExternal(item_id, amount) {
window.location.replace("https://www.systembolaget.se/dryckeslista?items="+item_id+":" + amount);
}
setTimeout("redirectToExternal()", 5000);
现在重定向效果很好,但我无法获得item_id和金额?我应该在/ success中复制整个函数吗?
就像这样:你发布你的购买去" /成功"页面和5秒后,它将使用item_id重定向到外部页面。我做错了哪里?
答案 0 :(得分:1)
您的成功页面应该在网址中获取产品ID,第二个重定向脚本应该在成功页面上。
window.location.href = "http://dryckesbrevet.se/success";
下面的代码不会像你现在在另一个页面上那样运行!
尝试类似:
window.location.href =“http://dryckesbrevet.se/success?id=”+ product_id;
然后将您的setTimeout()
放在成功页面上,获取ID并重定向!
答案 1 :(得分:1)
您无法重定向两次。只要您设置location.href
,您的浏览器就会转移到它,任何进一步的操作都不会生效。
您需要将第二个重定向网址传递到第一页,并在第一页后将重定向传递给第一页。
location.href='http://dryckesbrevet.se/success&redirect='+encodeURIComponent("http://ui.admlo.se/Api/Subscriptions/c03a4119-f6a8-4d86-b34f-f16177ec7912")
success
页面显示消息success
页面执行setTimeout("redirectToExternal()", 5000);
以重定向到&redirect=???
中提供的外部页面。