

WordPress側からAJAX通信したデータ(headerとfooter)をそれぞれlaravel側で表示したのです下記のソースコードで出来ません。どこで間違っていますでしょうか？

[code]

    <iframe id="myiframe" src=""></iframe>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript">  
    let ajaxUrl = 'https://example.jp/wp/wp-admin/admin-ajax.php';
    $.ajax({
        type: 'POST',
        url: ajaxUrl,
        data: {
            action: 'get_header',
        },
        beforeSend: function(xhr) {
              xhr.setRequestHeader ("Authorization", "Basic " + btoa(ID + ":" + password));
         },
    
        success: function( data) {
            var iframe = document.getElementById('myiframe');
              iframe.contentWindow.contents = data;
              iframe.src = 'javascript:window["contents"]';
    
        }
    });`
    
    
[/code]


CC BY-SA 4.0
2022-07-07T02:05:11.280
89798
2022-07-18T01:31:21.207
53407
question
laravel ajax
WordPressでAJAX通信したデータをlaravel側のheader.blade.phpに表示する


結論としては、

[code]

    iframe.contentWindow.contents = data;
    
[/code]

ここが

[code]

    iframe.contentWindow.document.body.innerHTML = data;
    
[/code]

又は

[code]

    iframe.contentDocument.body.innerHTML = data;
    
[/code]

だと思うんですが、状況（今回は通信先のサーバはそこが返すコンテンツの内容）によってはリスクのある実装なので、

<https://developer.mozilla.org/ja/docs/Web/Security/Types_of_attacks>

この辺りを一通り読んで頂いてから試してみてください！


CC BY-SA 4.0
2022-07-18T01:31:21.207
90055
2022-07-18T01:31:21.207
53573
89798
answer