0

我有一个 PP BUY-IT-NOW 按钮,我用它来执行 2 次提交。

1) PayPal 沙盒 - 购买(使用自定义 = "randnum" var)

2)我的PHP文件将用户信息提交到我的数据库中,以及相同的随机数

稍后他们将进行沟通,验证等。

我使用 $.post(我在这里学到的)提交了第二个提交操作。

只有当我第二次点击立即购买时才有效

第一次单击,它转到 Paypal 没问题,但是,不运行 PHP 文件,其中包含我的数据库输入。

但是,如果我回去,然后再次点击“立即购买”,它就可以工作了……之后就可以工作了。

如果我刷新,我需要点击一次,没有工作,返回,然后没有问题。

帮助!!!!我花了

<div id="paypal_corp">    <!--  BUY IT NOW - AND - send to DB   (corp_paypal_db_prep.php)   -->
    <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" name="corp_pp_buy" id="corp_pp_buy">        
        <input type="hidden" name="emp_email" id="corp_p_emp_email" />        
        <input type="hidden" name="empr_name" id="corp_p_empr_add_name" />
        <input type="hidden" name="empr_street" id="corp_p_empr_add_street"  />
        <input type="hidden" name="empr_city" id="corp_p_empr_add_city" />
        <input type="hidden" name="empr_state" id="corp_p_empr_add_state" />
        <input type="hidden" name="empr_zip" id="corp_p_empr_add_zip"/>

        <input type="hidden" name="corp_pdf_emp_rout_num" id="corp_p_rout_num" />
        <input type="hidden" name="corp_pdf_emp_acc_num" id="corp_p_acc_num" />
        <input type="hidden" name="corp_pdf_emp_id" id="corp_p_emp_id3"/>
        <input type="hidden" name="corp_pdf_emp_f_name" id="corp_p_emp_f_name" />
        <input type="hidden" name="corp_pdf_emp_l_name" id="corp_p_emp_l_name" />
        <input type="hidden" name="corp_pdf_emp_street" id="corp_p_emp_street" />
        <input type="hidden" name="corp_pdf_emp_city" id="corp_p_emp_city" />
        <input type="hidden" name="corp_pdf_emp_state" id="corp_p_emp_state" />
        <input type="hidden" name="corp_pdf_emp_zip" id="corp_p_emp_zip" />                  
        <input type="hidden" name="corp_pdf_emp_ssn" id="corp_p_emp_ssn" />             

        <input type="hidden" name="corp_pdf_start_date" id="corp_p_start_date" />
        <input type="hidden" name="corp_pdf_end_date" id="corp_p_end_date" />
        <input type="hidden" name="corp_pdf_pay_date" id="corp_p_pay_date" />

        <input type="hidden" name="corp_pdf_gross_hrs" id="corp_p_gross_hrs" />
        <input type="hidden" name="corp_pdf_gross_rate" id="corp_p_gross_rate" />
        <input type="hidden" name="corp_pdf_ot_hrs" id="corp_p_ot_hrs" />

        <input type="hidden" name="corp_pdf_gross_ytd" id="corp_p_gross_prd" />
        <input type="hidden" name="corp_pdf_gross_ytd" id="corp_p_gross_ytd" />

        <input type="hidden" name="corp_pdf_taxable_gross_prd" id="corp_p_taxable_gross_prd" />
        <input type="hidden" name="corp_pdf_taxable_gross_ytd" id="corp_p_taxable_gross_ytd" />

        <input type="hidden" name="corp_pdf_fed_amt_deduct_period" id="corp_p_fed_amt_deduct_period" />                    
        <input type="hidden" name="corp_pdf_fed_amt_deduct_ytd" id="corp_p_fed_amt_deduct_ytd" />

        <input type="hidden" name="corp_pdf_medicare_period" id="corp_p_medicare_period" />
        <input type="hidden" name="corp_pdf_medicare_ytd" id="corp_p_medicare_ytd" />

        <input type="hidden" name="corp_pdf_state_amtincomtax" id="corp_p_state_amtincomtax" />
        <input type="hidden" name="corp_pdf_state_amtincomtaxytd" id="corp_p_state_amtincomtaxytd" />

        <input type="hidden" name="corp_pdf_fica_social_period" id="corp_p_fica_social_period" />
        <input type="hidden" name="corp_pdf_fica_social_ytd" id="corp_p_fica_social_ytd" />

        <input type="hidden" name="corp_pdf_net_pay_period" id="corp_p_net_pay_period" />
        <input type="hidden" name="corp_pdf_net_pay_period_deposit" id="corp_p_net_pay_period_deposit" />
        <input type="hidden" name="corp_pdf_net_pay_ytd" id="corp_p_net_pay_ytd" />

        <input type="hidden" name="corp_pdf_state_abb" id="corp_p_state_abb" />                                                                         

        <input type="hidden" name="corp_pdf_val_401k_prd" id="corp_p_val_401k_prd" />
        <input type="hidden" name="corp_pdf_val_401k_ytd" id="corp_p_val_401k_ytd" />

        <input type="hidden" name="corp_pdf_commission" id="corp_p_commission" />
        <input type="hidden" name="corp_pdf_commission_ytd" id="corp_p_commission_ytd" />

      <input type="hidden" name="cmd" value="_s-xclick"> 
      <input type="hidden" name="hosted_button_id" value="PJTU3F2LGZNXU">
      <input type="hidden" name="return" value="http://www.paycheckstubonline.com/testing-2" />            <!-- need to create a SUCCESS PAGE(dl/email/return)  -->
      <input type="hidden" name="notify_url" value="http://www.paycheckstubonline.com/listener.php" />     <!-- IPN - find and update record to pay-->
      <input type="hidden" id="custom" name="custom" />
      <input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" id="submit_db_btn" border="0" name="submit_db_btn" alt="PayPal - The safer, easier way to pay online!">
      <img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
  </form>

在它的正下方,在同一个页面中,我有 Javascript..(我学到了硬道理,如果 Javascript 在它上面,它就不起作用..)

     <script type="text/javascript">
     var randomnumber = 0;
      $("#submit_db_btn").on("click",function() {
               $.post("corp_paypal_db_prep.php", $("#corp_pp_buy").serialize());  
              set_custom_var();
      });

      function set_custom_var() {
        randomnumber=Math.floor(Math.random()*1000000000);                                        
        document.getElementById("custom").value = randomnumber;
      }
      </script>

我在 $.POST 下放了一个 ALERT,它在第一次点击时弹出.. 但是,它仍然不运行 PHP 文件,直到我第二次点击它

4

1 回答 1

0

the NON shorthand verstion of Jquery call works..

 $.ajax({
  type: 'POST',
  async: false,
  url: "corp_paypal_db_prep.php",
  data: $("#corp_pp_buy").serialize(),
  success: function(data, status, xhr){
    alert('ok');
  },
  error: function(xhr, status, err) {
    alert(status + ": " + err);
  }
于 2013-05-23T02:37:07.937 回答