为什么我可以在我的一些Javascript中使用PHP而不是在特定的地方?

时间:2017-12-11 06:30:27

标签: javascript php jquery ajax server

我对代码中的某些内容感到困惑。

如果我在我的.php页面上编码:

$userEmail = $_SESSION["inputEmail"];

然后在我的一个Javascript函数中的AJAX调用中使用它:

function firstFunction() {
    $.ajax({
        url: someUrl.php?inputEmail='<?php echo $userEmail ?'>
        sync: true,
        success: function(result) {
          $("#someDiv").html(result)
         }
      })
}

我最终得到了我需要的结果。然而,我很困惑,因为如果在这个函数中,我做了类似的事情:

function secondFunction() {
    if (<?php echo $userEmail ?> == "test@test.com") {
        //do some stuff
    }
}

它不起作用。我已经阅读了上面这个确切场景的答案,但我不明白为什么我在这个例子中提供的第一行代码有效但第二行没有。

最初,我希望Javascript能够在上面的函数中读取$userEmail,但在查看页面源之后,我发现它没有任何评估。它看起来像:

if(  == "test@test.com)

就像我说的那样,我已经看了这部分。但现在我更加困惑了。为什么我可以在firstFunction()但不是secondFunction()

下进行AJAX调用

1 个答案:

答案 0 :(得分:0)

你的ajax运行正确的原因是你的php代码是在qoute barColors 内。

试试这个

barColors: function (row, series, type) {
    if (row.y < 0)
        return "grey";
    return "orange";
}


就像Francis Avila在您给出的链接(Using PHP in javascript's IF Statement)中所说的那样 “在将页面发送到浏览器之前,在服务器上评估PHP。当浏览器看到它并执行javascript时,所有PHP都消失了。”