簡體   English   中英

PHP:將字符串放入函數參數的正確方法

[英]PHP: Right way to put string in function argument

處理一些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'以使其成為字符串值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM