例如,当我在页面
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然后重定向。
如何解决这个问题?
我知道你可以在后端有一些重定向逻辑,我也使用过它,尝试从后端接收一个清晰的、完全形成的 URL。我用这样的东西
success
:
success: function(response) {
try{
obj = JSON.parse(response);
if(obj.location != ''){
window.location.href = obj.location;
}
}
}
catch(e){
alert("Malformed server answer.");
}
}