これを使用してphp関数をロードし、プラグインでjavascriptに送信します。
function me_nav_query_submit() {
$urlcall = nav_me_paises(); /* fetches a large html string */
$response = json_encode($urlcall); /* encode to display using jQuery */
//header( "Content-Type: application/json" );
echo $response;
exit;
}
を使用して、ページにhtmlを挿入します
function(response) {
jQuery('#navcontainer').html(response);
}
結果の最後に「null」文字列が表示されることを除いて、すべて正常に動作します。
json_encode()
ドキュメントでは、utf-8 以外の文字の null 文字列について説明していますが、そうではないようです。私も試してみましたutf8_encode()
が、成功しませんでした。ここでSOに関する他の多くの質問を読みましたが、それらのほとんどは、nullまたは不正なUTF-8エンコーディングとして返された1つの値について話し、私の場合はすべてうまくいき、最後に「null」を追加します。
注: WP Codex では header() 呼び出しの定義が推奨されていますが、「ヘッダーは既に送信されました」というエラーが発生していたため、コメントしました。
何か案は?
編集これは呼び出される関数です:
function nav_me_paises() {
?>
<ul class="navcategorias">
<?php $tquery = $_POST['wasClicked']; ?>
<?php $navligas = get_terms($tquery,'hide_empty=0') ?>
<?php foreach ($navligas as $liga) : ?>
<?php $link = get_term_link($liga); ?>
<li class="liga"><a href="<?php echo $link; ?>" ><?php echo $liga->name; ?></a></li>
<?php endforeach; ?>
</ul>
<?php
}