我有一个奇怪的错误,我有2个选项供用户使用条纹或贝宝。我也使用bootstrapvalidator进行错误检查。
当我提交表格并选中“paypal”选项时,我会从php文件中得到正确的答案。
但是当我提交带有“条带”选项的表单时,我在console.log中得到一个响应,但它是空的
这是js的一部分
if(payment == 'stripe'){
Stripe.setPublishableKey('pk_test_sXTC8mAZ3Z9oiA0fMovYyOdX');
Stripe.createToken({
number: $('#card-number').val(),
cvc: $('#card-cvc').val(),
exp_month: $('#card-expiry-month').val(),
exp_year: $('#card-expiry-year').val()
}, function(status, response) {
if (response.error) {
alert(response.error.message);
} else {
// token contains id, last4, and card type
var token = response['id'];
datastring = 'fullname=' + $('#fullname').val() + '&email=' + $('#email').val() + '&payment=' + payment + '&token=' + token;
}
});
} else {
// user checked paypal option
datastring = 'fullname=' + $('#fullname').val() + '&email=' + $('#email').val() + '&payment=' + payment;
}
$.ajax({
url: 'process.php',
type: 'POST',
data: datastring,
success: function(result){
console.log(result);
}
});
这是process.php文件
if($_POST){
$fullname = $_POST['fullname'];
$email = $_POST['email'];
$token = $_POST['token'];
$payment = $_POST['payment'];
if($payment == 'stripe'){
// Validate Stripe
require 'lib/Stripe.php';
$stripe = array(
"secret_key" => "my key",
"publishable_key" => "my publishable key"
);
Stripe::setApiKey($stripe['secret_key']);
echo 'Using stripe';
} else {
// Validate Paypal
echo "Using Paypal";
}
}
因此,当我检查“条带”选项并提交时,我应该“使用条带”而不是获得空响应。我检查了数据串,令牌没问题,我没有收到任何错误。有什么想法吗?