我有一个PP BUY-IT-NOW按钮,我用它来执行2次提交。
1) PayPal沙盒-购买(带有自定义=“随机”变量)
2)我的PHP文件,它将用户信息提交到我的数据库中,以及相同的随机数
稍后,他们将进行沟通、验证等。
我使用$.post (我在这里学到的)提交第二个submit操作。
只有当我第二次点击购买它时,它才能起作用
第一次点击,它转到Paypal没有问题,但是,没有运行PHP文件,其中有我的数据库输入。
但是,如果我返回并再次点击BUY IT NOW,它可以工作。然后在那里工作。
如果我刷新,我需要单击它一次,没有工作,返回,然后没有问题。
救命!我花了很多时间
<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下面放置了一个警告,它在第一次点击时弹出。但是,它仍然不会运行PHP文件,直到我第二次单击它
发布于 2013-05-23 10:37:08
Jquery调用的非速记版本可以工作。
$.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);
}https://stackoverflow.com/questions/16684547
复制相似问题