正在处理一些AJAX功能,并一直解决基本问题。找不到正确的答案。
我想在参数中发送一个字符串。我的代码看起来像这样。
echo '<li class="dropdown-item" onclick="term_ajax_get('. $s->term_id .', '. $s->name .')">';
在Chrome中,它的渲染:
<li class="dropdown-item" onclick="term_ajax_get(797, Cats)">Cats</li>
但当我点击元素时,我会得到
Uncaught SyntaxError: missing ) after argument list
我的jQ功能以防万一
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;
}
});
}
term_id的一切都很好,但字符串的结果不太一样。我尝试了反斜杠和所有我能在网上找到的解决方案。但仍然无法获取。
您需要在字符串参数周围添加转义引号。
echo '<li class="dropdown-item" onclick="term_ajax_get('. $s->term_id .', '''. $s->name .''')">';
应该像一样打印出来
<li class="dropdown-item" onclick="term_ajax_get(797, 'Cats')">Cats</li>
termName
如果函数中的变量希望参数是字符串,请尝试添加'$s->name'
使其成为字符串值。