Иногда возникает странная проблема с веб-страницей на нашем веб-сайте, которая используется нашими клиентами для отправки нам платежей.
Основная веб-страница загружается с сервера A и содержит скрытое поле, называемое "токен".».Веб-страница содержит iframe, который содержит страницу, загруженную с сервера B. Веб-страница в iframe, загруженном с сервера B, отправляет AJAX-запрос на сервер C.
Страница в iframe, которая былазагруженный с сервера B содержит следующий код JavaScript / AJAX / jQuery:
$.ajax({
type: "post",
async: false,
url: "https://serverC/getToken",
crossDomain: true,
data: {'input': ccNumber},
success: function(data) {
var token = data.token;
window.parent.postMessage(token, '*');
},
error: function(data) {
alert("failed!");
}
});
Главная веб-страница (родительское окно / фрейм) содержит следующий код JavaScript:
function receiveMessage(event) {
document.getElementById("token").value = event.data;
}
window.addEventListener('message', receiveMessage, false);
В основном,страница, загружаемая в iframe, содержит поле HTML, в которое пользователь вводит значение кредитной карты.Когда пользователь нажимает кнопку, значение, которое было введено, проверяется, чтобы убедиться, что это действительный номер кредитной карты, а затем через jQuery делается запрос AJAX на сервер, передающий номер кредитной карты, и возвращается токен, который являетсязатем поместите в скрытое поле с именем «токен» в родительском окне.Маркер представляет собой буквенно-цифровое значение, длина которого совпадает с введенным номером кредитной карты. Затем пользователь нажимает кнопку, чтобы отправить форму в родительском окне.
Возникает странная проблема:что иногда значение токена, которое отправляется обратно на наш сервер с главной веб-страницы (родительское окно / фрейм), представляет собой значение типа «setImmediate $ 0.2654587454983981 $ 12» вместо номера кредитной карты с токеном.
Нам не удалось воспроизвести это ни в одной из наших тестовых сред.Мы сталкиваемся с этим только тогда, когда приходит запрос в службу поддержки, и в свою очередь видим его в журналах наших приложений.
Наша текущая теория заключается в том, что в браузерах некоторых клиентов что-то идет не так, что и вызывает проблему.Кто-нибудь видел или сталкивался с подобной проблемой раньше или имеет представление о том, что может происходить?Буду очень признателен за любую помощь или обратную связь.