Передать тип_платы в ajax другому файлу php - PullRequest
0 голосов
/ 29 ноября 2018

Я передавал payment_type в форме, как показано ниже, код работал нормально ...

before.php полный код в pastebin

<?php

foreach($resulta as $row)
{ 

if (empty($row['tracking_id']))
{ 
echo "<form method='post' action='call8.php'>"; 
echo "<input type ='hidden' name='id' value='$id'> 
<input type ='hidden' name='order_id' value='".$row['order_id']."'> 
<input type ='hidden' name='payment_type' value='".$row['payment_type']."'> 
<input type='submit'> 
</form>"; 
} 
}

Теперь я пытаюсь, как показано ниже, но payment_type не передается в call.php , что я тут не так сделал?

After.php полный код в pastebin

<?php
$payment_type=isset($_POST['payment_type']);
?>

<input type="button" name="shipment" id="xpress" value="xpress" 
onclick="createshipmentx('<?php echo $orderrecords[$k]["order_id"]; ?>')" />

<script>

function createshipmentx(orderid)
    {    
      var assignee='<?php echo $_SESSION['login_user']?>';
      $.ajax({
        url: "call.php",
        type: "POST",       
       data:'order_id='+orderid+'&assignee='+assignee,
       // here i am passing payment_Type
       payment:'payment_type='+payment_type+'&assignee='+assignee,
        success: function(data){
          if(data==1)
          {
            $("#pdfdownload").show();                       
          }         
          window.location ="/ecom1/xpress/xpressdownload.php?orderId="+orderid;

        }
      });
    }

Issue :

Uncaught ReferenceError: payment_type не определен

На основе значения payment_type, я использовал, если условие [ppd] и else [cod] в call.php [https://pastebin.com/Qg6wxHCf], поэтомув зависимости от условия значения будут сохраняться в базе данных, но теперь сохраняются только в ppd .... я думаю, что payment_type не проходит должным образом через ajax ....

Ответы [ 4 ]

0 голосов
/ 29 ноября 2018

как только я передал payment_Type, как показано ниже, он работал для меня ....

onclick="createshipmentx('<?php echo $orderrecords[$k]["order_id"]; ?>',

'<?php echo $orderrecords[$k]["payment_type"]; ?>')" />

script

function createshipmentx(orderid,paymenttype)
  {      
    var assignee='<?php echo $_SESSION['login_user']?>';
    alert(orderid);
    $.ajax({
      url: "call.php",
      type: "POST",
      data:'orderid='+orderid+'&assignee='+assignee+'&paymentType='+paymenttype,
      success: function(data){
        alert(data);
        if(data==1)
        {
          $("#pdfdownload").show();

        } 
0 голосов
/ 29 ноября 2018

Вы должны использовать данные:

{order_id:orderid,assignee:assignee,payment_type:payment_type,assignee:assignee}

и получить доступ к этим значениям в

call.php eg. $_REQUEST['payment_type']

Образец кода JS:

$.ajax({
    url: "call.php",
    type: "POST",       
    data:{order_id:orderid,assignee:assignee,payment_type:payment_type,assignee:assignee},
    success: function(data){
        if(data==1)
        {
            $("#pdfdownload").show();                       
        }         
        window.location ="/ecom1/xpress/xpressdownload.php?orderId="+orderid;
    }
});
0 голосов
/ 29 ноября 2018

вам нужно поместить все параметры, которые вы хотите передать в разделе данных.В синтаксисе ajax

нет раздела "payment"Код PHP

0 голосов
/ 29 ноября 2018

Проблема, с которой вы столкнулись, заключается в том, что вы определяете переменную PHP $payment_type, но затем пытаетесь получить доступ к переменной Javascript payment_type.

Ошибка правильна, поскольку переменная Javascript не являетсяопределены.

Вы должны передать переменную переменной PHP в переменную JS.

Пример:

var payment_type = "<?php echo $payment_type; ?>"

Это напечатает PHPпеременная в строку, используемую для определения переменной JS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...