sendPostAjax()
单击表单 send_button后,我尝试使用该功能发送确认帖子,然后将表单提交给支付提供商。但是sendPostAjax()
在点击之前,我在页面加载时执行了该功能。
我试图将sendPostAjax()
函数放在点击捕获中,但是由于 sendPostAjax() 函数未定义,因此无法分配承诺。
有什么建议我应该如何解决这个问题?
HTML 表格
<form id="payment" method="post" action="https://my-payment-provider.com">
<input type="hidden" name="charset" value="utf-8">
// --- additional data here
<button type="submit" name="submit" id="send_button">PAY</button>
</form>
JAVASCRIPT代码
<script type = "text/javascript">
// Get click and call sendPostAjax function
document.getElementById('send_button').addEventListener('click', function () {
sendPostAjax();
return false;
});
function sendPostAjax() {
return $.ajax({
url: 'confirm.php',
type: 'POST',
data: {
cid: '9999999'
}
});
}
// function that expects a promise as an argument:
function sendForm(x) {
x.success(function () {
$('#payment').submit;
});
}
// get a promise from sendPostAjax:
var promise = sendPostAjax();
// give a promise to other function:
sendForm(promise);
</script>