我有一个要与Codeigniter集成的支付网关。我正在使用ajax从视图中获取价值。我需要使用一些值重定向到支付网关页面,以便用户可以在支付网关页面中进行进一步的处理。
传递值的我的视图
<script>
$(document).ready(function(){
$(".loader").hide();
$("#connectionForm").on('submit', function(e){
e.preventDefault();
var data = new FormData(this);
$.ajax({
url: "<?php echo base_url('index.php/home/save_new_connection');?>",
type: "POST",
dataType:'json',
// async:false,
data: new FormData(this),
contentType: false,
cache: true,
processData:false,
success: function(data)
{
}
});
});
});
</script>
这是我的控制器,负责处理值
public function save_new_connection()
{
$data['name']=$name=$this->input->post('name');
$data['amount']=$amount=$this->input->post('amount');
$url='https://abcd.com/servlet';
include APPPATH . 'class/NetworkonlieBitmapPaymentIntegration.php';
$networkOnlineArray['Field_Existence_Indicator_Transaction']['amount']=$amount;
$networkOnlineArray['Field_Existence_Indicator_Billing']['billToFirstName']=$name;
$networkOnlineObject=new NetworkonlieBitmapPaymentIntegration($networkOnlineArray);
$data['requestParameter']=$requestParameter;
redirect("https://abcd.com/servlet".$requestParameter);
我需要将$ requestParameter发送到$ url,以便将支付网关页面显示给用户,我使用curl作为选项,但它没有重定向到支付网关页面。我试图将值传递回ajax,但是include APPPATH. 'class/NetworkonlieBitmapPaymentIntegration.php';
之后的“ echo”无效。我该如何实现?
答案 0 :(得分:0)
如果您需要保存用户输入的值,则此方法有效,但是如果您不需要保存任何内容,最好的选择是将表单直接发布到付款网关。
在这里,您可以使用ajax完成此操作
<script>
$(document).ready(function(){
$(".loader").hide();
$("#connectionForm").on('submit', function(e){
e.preventDefault();
var data = new FormData(this);
$.ajax({
url: "<?php echo base_url('index.php/home/save_new_connection');?>",
type: "POST",
dataType:'json',
// async:false,
data: new FormData(this),
contentType: false,
cache: true,
processData:false,
success: function(data)
{
window.location.href=data;
}
});
});
});
</script>
public function save_new_connection()
{
$data['name']=$name=$this->input->post('name');
$data['amount']=$amount=$this->input->post('amount');
$url='https://abcd.com/servlet';
include APPPATH . 'class/NetworkonlieBitmapPaymentIntegration.php';
$networkOnlineArray['Field_Existence_Indicator_Transaction']['amount']=$amount;
$networkOnlineArray['Field_Existence_Indicator_Billing']['billToFirstName']=$name;
$networkOnlineObject=new NetworkonlieBitmapPaymentIntegration($networkOnlineArray);
$data['requestParameter']=$requestParameter;
echo "https://abcd.com/servlet".$requestParameter;
}