使用某些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一切正常,但字符串的结果却不尽相同。我试过反斜杠和我在网上找到的每一个解决方案。但仍然无法得到它。
答案 0 :(得分:1)
您需要在字符串参数周围添加转义引号。
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>
答案 1 :(得分:-1)
def myview(request):
if request.session['has_pin']:
# show your "/anything" content
else:
return HttpResponseRedirect('/enter-your-code')
def my_enter_code(request):
if request.method == 'POST':
if check_pin(request.POST.get('pin', None)
request.session['has_pin'] = True
return HttpResponseRedirect('/anything')
return render('input-pin-form.html')
函数中的变量期望参数为字符串,尝试添加termName
以使其成为字符串值。