Разбор ответа XML с использованием JS и AJAX - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь разобрать ответ XML, используя JS AJAX Ответ получен из SAML для запроса на выход из системы

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <apm_do_not_touch>
        <body onload="document.forms[0].submit()">
            <noscript> 
                <p>    <strong> Your browser does not support JavaScript, press the Continue button once to proceed. </strong></p> 
            </noscript> 
            <form action="https://sp.company.lab/saml/sp/profile/post/sls" method="post"> 
                <input type="hidden" name="SAMLRequest" value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c2FtbHA6TG9nb3V0UmVxdWVzdCB4bWxuczpzYW1scD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIiBJRD0iX2RiYTdiMzM3MmU4ZWQwYzU3OGYyMWMxNjM1OTY1ZTkxZjc0ZjQ5IiBWZXJzaW9uPSIyLjAiIElzc3VlSW5zdGFudD0iMjAyMC0wMy0xNVQwODoyOToxOVoiIE5vdE9uT3JBZnRlcj0iMjAyMC0wMy0xNVQwODozNToxOVoiIERlc3RpbmF0aW9uPSJodHRwczovL3NhbWwucHJvZC5sYWIvc2FtbC9zcC9wcm9maWxlL3Bvc3Qvc2xzIj48c2FtbDpJc3N1ZXIgeG1sbnM6c2FtbD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFzc2VydGlvbiI+aHR0cHM6Ly93cC5wcm9kLmxhYjwvc2FtbDpJc3N1ZXI+PHNhbWw6TmFtZUlEIHhtbG5zOnNhbWw9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphc3NlcnRpb24iIEZvcm1hdD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzIj5kYW5pZWx5PC9zYW1sOk5hbWVJRD48c2FtbHA6U2Vzc2lvbkluZGV4IHhtbG5zOnNhbWxwPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6cHJvdG9jb2wiPl8zMmMzNGMxNmI3ODUzNWVjYjNhZWUzZTAxODg4ZDlmNjQyZGE4Yzwvc2FtbHA6U2Vzc2lvbkluZGV4Pjwvc2FtbHA6TG9nb3V0UmVxdWVzdD4="/>
                <noscript> 
                        <div>
                            <input type="submit" value="Continue"/>
                        </div>
                </noscript> 
            </form>
        </body>
    </apm_do_not_touch>
</html>

Как получить значение параметра "SAMLRequest" "?

1 Ответ

0 голосов
/ 16 марта 2020
var val = $(responseText).find('input[name="SAMLRequest"]').val();

var responseText = `
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <apm_do_not_touch>
        <body onload="document.forms[0].submit()">
            <noscript> 
                <p>    <strong> Your browser does not support JavaScript, press the Continue button once to proceed. </strong></p> 
            </noscript> 
            <form action="https://sp.company.lab/saml/sp/profile/post/sls" method="post"> 
                <input type="hidden" name="SAMLRequest" value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c2FtbHA6TG9nb3V0UmVxdWVzdCB4bWxuczpzYW1scD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIiBJRD0iX2RiYTdiMzM3MmU4ZWQwYzU3OGYyMWMxNjM1OTY1ZTkxZjc0ZjQ5IiBWZXJzaW9uPSIyLjAiIElzc3VlSW5zdGFudD0iMjAyMC0wMy0xNVQwODoyOToxOVoiIE5vdE9uT3JBZnRlcj0iMjAyMC0wMy0xNVQwODozNToxOVoiIERlc3RpbmF0aW9uPSJodHRwczovL3NhbWwucHJvZC5sYWIvc2FtbC9zcC9wcm9maWxlL3Bvc3Qvc2xzIj48c2FtbDpJc3N1ZXIgeG1sbnM6c2FtbD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFzc2VydGlvbiI+aHR0cHM6Ly93cC5wcm9kLmxhYjwvc2FtbDpJc3N1ZXI+PHNhbWw6TmFtZUlEIHhtbG5zOnNhbWw9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphc3NlcnRpb24iIEZvcm1hdD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzIj5kYW5pZWx5PC9zYW1sOk5hbWVJRD48c2FtbHA6U2Vzc2lvbkluZGV4IHhtbG5zOnNhbWxwPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6cHJvdG9jb2wiPl8zMmMzNGMxNmI3ODUzNWVjYjNhZWUzZTAxODg4ZDlmNjQyZGE4Yzwvc2FtbHA6U2Vzc2lvbkluZGV4Pjwvc2FtbHA6TG9nb3V0UmVxdWVzdD4="/>
                <noscript> 
                        <div>
                            <input type="submit" value="Continue"/>
                        </div>
                </noscript> 
            </form>
        </body>
    </apm_do_not_touch>
</html>
`;
var val = $(responseText).find('input[name="SAMLRequest"]').val();
console.log(val);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...