AJAXのいくつかの機能を操作し、基本的な問題に固執しました。正解を見つけることができません。PHP:文字列を関数の引数に入れる正しい方法
引数に文字列を送信します。私のコードはこのように見えます。
<li class="dropdown-item" onclick="term_ajax_get(797, Cats)">Cats</li>
をしかし、私は要素にクリックしたときに、私はちょうど
function term_ajax_get(termID, termName) {
jQuery("a.ajax").removeClass("current");
jQuery("a.ajax").addClass("current");
jQuery("#loading-animation").show();
var ajaxurl = 'http://localhost:3333/wordpress/wp-admin/admin-ajax.php';
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {"action": "game-filter", term: termID, name: termName },
success: function(response) {
jQuery(".games__cnt").html(response);
jQuery("#loading-animation").hide();
return false;
}
});
}
すべての作品の場合には
Uncaught SyntaxError: missing) after argument list
マイjQの機能を得る:
echo '<li class="dropdown-item" onclick="term_ajax_get('. $s->term_id .', '. $s->name .')">';
クロームでは、レンダリングですterm_idで問題はないが、全く同じではない文字列からの結果。私はバックスラッシュと私がウェブで見つけることができるすべてのソリューションを試してみました。しかしそれでもそれを得ることはできません。
問題は@NathanEdwardsの回答ごとに引用符をエスケープすることです。しかし、本当に 'onclick'イベントがあなたのHTMLに埋め込まれるのを避けるべきです。それは悪い習慣とみなされます。 jQueryを使用して、HTMLコードとは別のイベントを定義する必要があります。 '$( '。dropdown-item')。click()'またはこれに類似するものを使用します。正しいとすれば、PHPでJavaScriptコードを生成する必要はありません。 – Spudley