У меня есть веб-сайт, и мне нужно, чтобы мои пользователи могли совершать платежи, а в Интернете есть собственная страница, которая разделена на 3 раздела.Первый предназначен для выбора способа оплаты (Visa, Mastercard и т. Д.), Второй - это поле ввода, в котором пользователь вводит сумму для перевода, и кнопку, чтобы продолжить загрузку платежного шлюза Moneybookers.Ну, в третьем разделе есть пустой DIV, ожидающий загрузки, пока пользователь не нажмет на кнопку транзакции.Итак, как только это будет сделано, я вызываю PHP через AJAX.Код функции AJAX следующий:
var xml = null;
try{
xml = new ActiveXObject("Microsoft.XMLHTTP");
}catch(expeption){
xml = new XMLHttpRequest();
}xml.open("POST", "mb_connect.php", false);
xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xml.send("pay_to_email="+datos[3]+"&transaction_id="+datos[1]+
"&status_url="+datos[2]+
"&language="+lang+
"&pay_from_email="+datos[13]+
"&firstname="+datos[5]+
"&lastname="+datos[6]+
"&address="+datos[7]+
"&postal_code="+datos[8]+
"&city="+datos[9]+
"&state="+datos[10]+
"&country="+datos[11]+
"&date_of_birth="+datos[12]+
"&amount="+document.payment.cantidad.value+
"&payment_methods="+datos[4]);
$("#contenido").html(xml.responseText);
, и PHP называется так:
<?php header('Content-type: text/html; Charset=utf-8');
extract($_POST);
$status_url2 = 'mailto:payments@misite.com';
$return_url_target = 3;
$return_url = 'https://www.misite.com';
$cancel_url = 'https://www.misite.com';
?>
<iframe id="myiframe" name="myiframe" frameborder="no" style="height: 600px; width:735px;" scrolling = "auto">
</iframe>
<form name="oc" action="https://www.moneybookers.com/app/payment.pl" method="post" target="myiframe">
<input type="hidden" name="pay_to_email" value="<?= $pay_to_email ?>">
<input type="hidden" name="recipient_description" value="My SITE ltd">
<input type="hidden" name="transaction_id" value="<?= $transaction_id ?>">
<input type="hidden" name="status_url" value="<?= $status_url ?>">
<input type="hidden" name="status_url2" value="<?= $status_url2 ?>">
<input type="hidden" name="return_url_target" value="<?= $return_url_target ?>">
<input type="hidden" name="return_url" value="<?= $return_url ?>">
<input type="hidden" name="cancel_url" value="<?= $cancel_url ?>">
<input type="hidden" name="return_url_target" value="1">
<input type="hidden" name="cancel_url_target" value="1">
<input type="hidden" name="language" value="<?= $language ?>">
<input type="hidden" name="confirmation_note" value="">
<input type="hidden" name="pay_from_email" value="<?= $pay_from_email ?>">
<input type="hidden" name="title" value="">
<input type="hidden" name="firstname" value="<?= $firstname ?>">
<input type="hidden" name="lastname" value="<?= $lastname ?>">
<input type="hidden" name="address" value="<?= $address ?>">
<input type="hidden" name="postal_code" value="<?= $postal_code ?>">
<input type="hidden" name="city" value="<?= $city ?>">
<input type="hidden" name="state" value="<?= $state ?>">
<input type="hidden" name="country" value="<?= $country ?>">
<input type="hidden" name="date_of_birth" value="<?= $date_of_birth ?>">
<input type="hidden" name="amount" value="<?= $amount ?>">
<input type="hidden" name="currency" value="EUR">
<input type="hidden" name="rec_cycle" value="day">
<input type="hidden" name="payment_methods" value="<?= $payment_methods ?>">
<input type="hidden" name="submit_id" value="Submit">
</form>
<script language="JavaScript">document.oc.submit();</script>
, поэтому при выполнении этого скрипта автоматически вызывается платеж Moneybookersшлюз и вернуть HTML-код, который вставлен в IFRAME.
Ну, все это нормально работает во всех браузерах, кроме Internet Explorer.Нет ошибки, и DIV пуст.
Кто-нибудь знает, в чем может быть ошибка?
Буду признателен за любую помощь.
Спасибо.