Отправить форму с результатом ajax - PullRequest
0 голосов
/ 18 декабря 2018

Я успешно загружаю iframe в div #output с помощью AJAX.Этот сценарий воспроизводит видео для меня.

jQuery( document ).ready( function( $ ) {
    $( '.play_next' ).on('click', function( event ) {
        event.preventDefault();
        $('#output').empty();
        var meta_key = $( this ).data( 'meta-key' );
        var post_id = $( this ).data( 'post-id' );
        $.ajax( {
            url: ajaxobject.ajaxurl,
            type: 'POST',
            dataType: 'html',
            data: {
                action : 'wpse_296903_call_meta',
                post_id : post_id,
                meta_key : meta_key,
            },
            success: function( result) {
                $( '#output' ).append( result );
            }
        });
    });
});

Теперь больше не нужно #output в div, нужно отправить это значение с помощью формы.

<form action="http://other-domain.com/" method="POST" target="_black">
    <input type="submit" name="iframe" value="" />
</form>

Эта форма отправляет iframe в другой домен, который открывается в новой вкладке со свойством target="_black.

Как поместить #output значение в форму и отправить с Ajax?

1 Ответ

0 голосов
/ 18 декабря 2018

Редактировать

Вы не можете получить доступ к содержимому iframe снаружи одного, если это iframe с другим происхождением.

Если это то же самое происхождение

 let form = document.createElement('form');
 let input = document.createElement('input');
 input.type = 'hidden';
 input.value = encodeURIComponent(document.querySelector('iframe').contentDocument.innerHTML);
 input.name = 'iframe_data';
 form.action = 'myDestination.html'
 form.appendChild(input);
 document.body.appendChild(form);
form.submit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...