PHP:将字符串放入函数参数的正确方法

时间:2016-05-07 15:12:14

标签: php jquery wordpress

使用某些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一切正常,但字符串的结果却不尽相同。我试过反斜杠和我在网上找到的每一个解决方案。但仍然无法得到它。

2 个答案:

答案 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 以使其成为字符串值。