web-dev-qa-db-ja.com

get_template_partがajaxで機能しない

私はこのようなことを試したとき、私はAjaxでいくつかのコンテンツをロードしました:

$resp = array(
    'success' => true,
    'data' => 'the content here'
);

問題なく動作していますが、次のようなものを使用した場合は、

$resp = array(
    'success' => true,
    'data' => get_template_part( 'templates/update', 'profile' )
);

jSONデータの1行1列目にSyntaxError:JSON.parse:予期しないキーワードが表示されます。

the content here{"success":true,"data":null}

Get_template_partの問題は何ですか?

1
Trello

get_template_part()にはPHPファイルが含まれており、これは$respを壊します。出力を変数に取り込むには、 出力バッファリング を使用する必要があります。

ob_start();
get_template_part( 'templates/update', 'profile' );
$data = ob_get_clean();

$resp = array(
    'success' => true,
    'data'    => $data
);
3
Jacob Peattie