0

我通过社区研究了这个话题,虽然我找不到答案。我正在使用 Bronto 的直接添加功能(尝试使用它),文档不是那么好。

总之,href 链接订阅了电子邮件列表中的用户。唯一的问题是此链接会打开一个新页面。当我希望用户留在同一页面上时。我想在单击链接时进行重定向,但我不确定这是否可行。

我试过这个:

 //Html
<a id="subscription" href="http://example.com">Subscribe</a>

 // Jquery
  $("#emailsubscribe").click(function(e){
          e.preventDefault();//this will prevent the link trying to navigate to another page

          //do the update
          var href = "http://example.com";

          //when update has finished, navigate to the other page
          window.location = "href";
   });

目标是我试图让它在用户点击链接的地方,它将他们订阅到电子邮件列表,但立即将它们重定向回来,而不打开另一个窗口。

4

3 回答 3

0

您正在寻找 AJAX。这允许您在不实际导航到页面的情况下发出请求。由于您使用的是 jQuery

$("#emailSubscribe").click(function (e) {
  e.preventDefault();
  $.get("http://www.myurl.com", function (data) {
      //All done!
  });
});
于 2015-11-09T19:41:20.447 回答
0

您有 3 个选项:

  1. 执行 AJAX 请求以订阅用户

$('#emailsubscribe').on('click', function () { $.get('/email-subscribe/' + USER_ID, function () { // redirect goes here window.location = 'REDIRECT_URL'; }); });

  1. 使用 iframe 并在 iframe 加载后关闭 iframe(丑陋,hacky,不推荐)

  2. 让订阅页面将用户重定向回来。也就是“您已订阅。正在 5 秒内重定向回来......”的常见消息。您需要将重定向链接传递到订阅页面,也就是

    window.location = '/subscribe/USER_ID?redirect_to=/my-redirect-page'

于 2015-11-09T19:41:51.323 回答
0

您需要引用 var,而不是键入另一个字符串来重定向。

//Html
<a id="subscription" href="http://example.com">Subscribe</a>

// Jquery
$("#emailsubscribe").click(function(e){
          e.preventDefault();//this will prevent the link trying to navigate to another page

          //do the update
          var href = "http://example.com";

          //when update has finished, navigate to the other page
          window.location = href; //<<<< change this.
});
于 2015-11-09T19:41:52.567 回答