Это форма оплаты, которую необходимо разместить на платежном шлюзе Worldpay. Он имеет все параметры в соответствии с документацией WorldPay и отлично работает, если напрямую опубликован.
Но сейчас я пытаюсь
- AJAX сначала опубликует форму на моем сайте (используя jquery.form, и эта часть работает нормально), затем выполните некоторые операции с базой данных
- , а затем измените атрибут действия с помощью JavaScript и опубликуйте его в Worldpay. Но сообщение worldpay не работает, и все, что предупреждено после строки
$("form#wpftuf").submit();
в следующем коде, также не предупреждает.
Форма оплаты
<form name="wpftuf" id="wpftuf" method="post" action="http://url/of/ajax/file/add_credit">
<input type="hidden" name="operation" value="add_credit" id="operation" /> <?php // for ajax validation ?>
<input type="hidden" name="worldpayUrl" value="<?php echo WPurl?>" id="worldpayUrl" />
...
..
...other necessary fields
</form>
Здесь я передаю URL worldpay в качестве параметра
Связывание AJAX
$(document).ready(function()
{
var options = {
dataType: 'json',
beforeSubmit: function()
{
//alert("submitting");
},
success: function(data)
{
if(data)
{
if(data.success)
{
var worldpayUrl = $("input[id=worldpayUrl]").val();
$("form#wpftuf").attr("action",worldpayUrl);
alert("this works");
$("form#wpftuf").submit();
//This alert does not work
alert("this alert does not work "+$("form#wpftuf").attr("action"));
}
}
}
,
error:function()
{
alert("validation failed");
}
};
$("form#wpftuf").ajaxForm(options);
});
Я предполагаю, что ошибка происходит, потому что я пытаюсь изменить действие и отправляю внутри событие успеха формы ajax, а форма все еще binded
.
Итак, я попытался вслепую поставить $("form#wpftuf").unbind(options);
, $("form#wpftuf").unbind();
$("form#wpftuf").unbind(ajaxForm);
после строки $("form#wpftuf").attr("action",worldpayUrl);
(по одному), но во всех случаях я получаю эту ошибку uncaught exception: Permission denied to call method XMLHttpRequest.open
Как отправить форму динамически в worldpay после успешного завершения обработки формы ajax. Форма должна быть unbinded
первой? Пожалуйста помоги. Это может иметь простое решение, но я не могу его получить. Я много искал.
Обратите внимание
Платежный шлюз worldpay требует, чтобы пользователь заполнил некоторые формы после публикации, поэтому повторная отправка AJAX с использованием ajaxSubmit()
не будет работать. Мне нужна нормальная подача формы там.
Спасибо
Sandeepan