如何使用ajax重定向发布数据?

问题描述 投票:0回答:1

例如,当我在页面

http://example/test/1
并单击按钮时,我想重定向到带有数据的
http://example/text/123

在我的代码中,它更像是先发布然后重定向:

$( document ).on("click", "#bill", function(){
        $('input[name="bill_number"]');
          var bill = $(this);
          var data = {
            bill_number: bill.parentsUntil("tr").parent().find("[name='bill_number']").val(),
          };

          $.ajax({
            url: '{{ route("monthly_bill.slip", $bill_period_id) }}',
            type: "POST",
            data: data,
            success: function(data) {
              window.location.href = '{{ route("monthly_bill.slip", $bill_period_id) }}';
              // fn.notif("Slip printed", "success")
            }
          });
    });

问题是,当我使用上面的AJAX时,它在重定向时只会返回一个参数,所以我想用post数据重定向,而不是先post然后重定向。

如何解决这个问题?

jquery ajax http-redirect
1个回答
0
投票

我知道你可以在后端有一些重定向逻辑,我也使用过它,尝试从后端接收一个清晰的、完全形成的 URL。我用这样的东西

success

success: function(response) {
        try{
            obj = JSON.parse(response);
            if(obj.location != ''){
                    window.location.href = obj.location;
                }
            }
        }
        catch(e){
            alert("Malformed server answer.");
        }
}
© www.soinside.com 2019 - 2024. All rights reserved.