如何将我拥有的众多PHP变量之一传递给JavaScript?

时间:2015-03-17 09:13:21

标签: javascript php ajax

我目前正在使用AJAX将PHP输出传递给JavaScript,但我想只传递一个PHP变量到JavaScript,而且我不知道如何从一般的this.responseText属性中获取它。

我尝试过搜索Stackoverflow / Google,但大多数问题/答案都谈到了返回整个PHP输出。我想要的不是整个PHP输出(我已经解决了),而是PHP代码中的一个变量。这是我现在的PHP输出:

    echo $hex;
    echo '<br>';
    echo 'R: ' . $r . ' G: ' . $g . ' B: ' . $b;

我想要的只是获取$ hex变量。我如何获得它?

编辑给那些将其标记为副本的人:
我已经阅读了对这个问题的回复,但我觉得它并没有完全回答我的问题,所以我发布了一个新问题。在Ajax示例中,只有1个输出(42),它位于this.responseText中。我正在使用this.responseText输出几个句子,但我也希望其中一个变量用于单独的javascript函数。如何从this.responseText中提取它?

2 个答案:

答案 0 :(得分:1)

您的意思是将其设置为javascript变量吗?

<?php
    echo '<script>';
    echo 'var Hex = ' . $hex . ';';
    echo '</script>';
?>

答案 1 :(得分:0)

如果你想要返回$ hex,如果它是一个ajax请求,如果它是一个普通的页面视图,则渲染另一个变量,那么你可以将它放在if语句中,如

/* AJAX check  */
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
    echo $hex;
} else {
    echo $hex;
    echo '<br>';
    echo 'R: ' . $r . ' G: ' . $g . ' B: ' . $b;
}