0

wordpress で動作する ajax ロード リクエストがありますが、別のページのコンテンツをコンテナー div にロードしたいと考えています。現時点では、$dataToSend の URL を文字列として渡すだけですか?

jQuery(document).ready(function(){

    var $dataToSend = "my-page.php";
    var $testBtn = jQuery('#text-ajax-btn');
    var $holdingCtn = jQuery('#my-holding-ctn');

    $testBtn.click(function(){
        jQuery.ajax({
            type:'POST',
            url: myAjax.ajaxurl,
            data:{
                action:'myAjax',
                dataToSend:$dataToSend,
            },
            success: function(data,textStatus,XMLHttpRequest){
                $holdingCtn.html("");
                $holdingCtn.append(data);
            },
            error: function(XMLHttpRequest, textStatus, errorThrown){
                alert(errorThrown);
            }
        });
    });
});

.php ページ全体を $dataTosend として渡すにはどうすればよいですか?

4

3 に答える 3

0

これが完全に当てはまるかどうかはわかりませんが、非常に簡単な方法は

$("#myDiv").load("myFile.php?foo=1&bar=2...");
于 2013-09-25T23:20:50.070 に答える
0

ファイルからコンテンツをロードする場合はmy-page.php、次を使用してサーバー側からロードできます

$data = file_get_contents('path/to/file/my-page.php'); // pass right path/url

次に、関数 (add_action を使用して WordPress に登録された ajax ハンドラー) からコンテンツをエコーするだけで、この場合は次のようになります。

echo $data;
die(); // terminate the further execution

したがって、次のようになります

add_action( 'wp_ajax_myAjax', 'yourAjaxHandler' );
add_action( 'wp_ajax_nopriv_myAjax', 'yourAjaxHandler' );
function yourAjaxHandler(){
    $data = file_get_contents('path/to/file/my-page.php');
    die($data); // echo out the string and terminates execution
}

コールバックでは、success使用できます

success: function(data){
    jQuery('#my-holding-ctn').html(data);
}
于 2013-09-25T23:17:32.497 に答える