1

在此代码中,我使用razorpay支付网关 api,其中支付成功完成但在成功 ajax 调用后无法重定向。那么,如何使用window.location.href订单页面重定向页面?请帮我。

$(document).ready(function() {
  $('#buy_now').click(function(e) {
    var total_amount = $(".total_amount").val();
    var product_id = $(".product_id").map(function() {
      return this.id;
    }).get().join(",");
    var new_uid = $("#new_uid").val();
    var user_id = $("#uid").val();
    var user_email = $(".user_email").attr("id");
    var options = {
      "key": "************************",
      "amount": (1 * 100), // 2000 paise = INR 20
      "name": "MyApp",
      "description": "Payment",
      "image": "https://www.MyApp.com/img/logo/logo.png",
      "handler": function(response) {
        $.ajax({
          url: '<?php echo base_url() ?>razorPaySuccess',
          type: 'post',
          dataType: 'json',
          data: {
            "razorpay_payment_id": response.razorpay_payment_id,
            "total_amount": total_amount,
            "product_id": product_id,
            "new_uid": new_uid,
            "user_email": user_email,
            "user_id": user_id
          },
          success: function(data) {
            window.location.href = "<?php echo base_url(); ?>order";
          }
        });
      },
      "theme": {
        "color": "#528FF0"
      }
    };
    var rzp1 = new Razorpay(options);
    rzp1.open();
    e.preventDefault();
  });
});
4

4 回答 4

0

将您的网址存储在一个变量中,然后调用此行。

var url = "your current url";
$(location).attr('href',url);
于 2019-07-19T11:47:06.063 回答
0

到目前为止,我没有注意到您的代码有任何错误..您只需确保它转到success: function()并使用window.location.replacenot window.location.href。因此,它将替换当前 url 并将您重定向到您的成功页面。

window.location.replace = "<?php echo base_url(); ?>order";

如果上面的代码仍然不起作用。您e.preventDefault()可能会导致您阻止重定向到您的成功页面,因此请确保相应地使用它。

于 2019-07-20T01:56:52.437 回答
-1

这样做: -

var path = "<?php echo base_url(); ?>";
window.location.href = path+"order";
于 2019-07-19T12:27:34.670 回答
-2
window.location.href = window.location.href; it may work for you.
于 2019-07-19T11:51:02.227 回答