我有一个包含 Stripe JS 的注册页面。用户填写完所有字段后,他们单击提交,除了控制台中位置 0 处的错误 Uncaught SyntaxError: Unexpected token < in JSON 之外没有任何反应。如果我然后再次单击提交,它会按预期工作。我知道问题是什么,我只是不知道如何解决它。StripeToken 没有附加在第一个“提交”上,而是附加在第二个“提交”上。
我试过用 jQuery 两次触发表单提交。我试过把所有东西都放在函数中并按顺序运行它们。据我自己(有限)的知识,我已经尽我所能。
document.getElementById("submitbtn").style.display = "none";
var tabTitles = ['Let\'s get to know eachother...', 'We have to make sure...', 'Where\'s Wally?', 'Something to remember...', 'It\'s just business...'];
var currentTab = 0;
showTab(currentTab);
function showTab(n) {
var x = document.getElementsByClassName("tab");
x[n].style.display = "block";
if (n == 0) {
document.getElementById("prevBtn").style.display = "none";
} else {
document.getElementById("prevBtn").style.display = "inline";
}
if (n == (x.length - 1)) {
document.getElementById('submitbtn').style.display = "inline";
document.getElementById("nextBtn").style.display = "none";
document.getElementById("nextBtn").classList.add("initpayment");
} else {
document.getElementById("nextBtn").innerHTML = "Next";
document.getElementById('submitbtn').style.display = "none";
document.getElementById("nextBtn").style.display = "inline";
}
document.getElementById("tabTitle").innerHTML = tabTitles[n];
fixStepIndicator(n);
}
function nextPrev(n) {
var x = document.getElementsByClassName("tab");
if (n == 1 && !validateForm())
return false;
x[currentTab].style.display = "none";
currentTab = currentTab + n;
showTab(currentTab);
}
第一次提交尝试时出现错误消息:Uncaught SyntaxError: Unexpected token < in JSON at position 0。
第一次尝试的结果:无。第二次尝试的结果:如预期
预期结果:在第一次提交尝试时,stripe 生成令牌,将其附加到表单中,然后提交继续正常进行。
MMTTMM
HUH函数