powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / вывод iframe через раз
1 сообщений из 1, страница 1 из 1
вывод iframe через раз
    #40126448
Co_balt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую вывод результата запроса SOAP в iframe. При первом вызове выводит сразу. При последующих сначала очищает iframe, а при повторном вызове выводит как надо. Понимаю, что как-то связано с iframeDoc.readyState == 'complete', но как им управлять не знаю. Где я накосячил?

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
         function Execute() {

	var xmlhttp = new XMLHttpRequest();
	const parser = new DOMParser();
 	var iframe = document.getElementById('bottom');
  	var iframeDoc = iframe.contentWindow.document;

	xmlhttp.open('POST', 'http://10.4.200.30:50100/XMII/SOAPRunner/SAPMEReports/wrongSFP/getShopOrder', true);

	// build SOAP request
	var sr =
		'<?xml version="1.0" encoding="utf-8"?>' +
		'<x:Envelope    xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"    xmlns:xmi="http://www.sap.com/xMII">' +
		'<x:Header/>' +
		'<x:Body>' +
		'<xmi:XacuteRequest>' +
		'<xmi:InputParams>' +
		'<xmi:Site>' + document.getElementById("Site").value + '</xmi:Site>' +
		'<xmi:StartDate>' + document.getElementById("StartDate").value + '</xmi:StartDate>' +
		'<xmi:EndDate>' + document.getElementById("EndDate").value + '</xmi:EndDate>' +
		'</xmi:InputParams>' +
		'</xmi:XacuteRequest>' +
		' </x:Body>' +
		'</x:Envelope>';

	xmlhttp.onreadystatechange = function() {

		if (xmlhttp.readyState == 4) {
			if (xmlhttp.status == 200) {
				iframe.src = "about:blank";
				if (iframeDoc.readyState == 'complete') {
					const doc = parser.parseFromString(xmlhttp.responseText, "application/xml");
					iframeDoc.write(convert(doc.querySelector("OutputXML").textContent));
  				}
			}
			if (xmlhttp.status == 500) {
				alert("Введите дату!");
			}
		}
	}
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / вывод iframe через раз
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (34): Анонимы (32), Bing Bot, Yandex Bot
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]