【问题标题】:how to check php variable value in javascript如何在javascript中检查php变量值
【发布时间】:2018-08-13 05:53:52
【问题描述】:

我想检查 php 中的变量是否具有活动值 我这样测试但不起作用

我在 check.php 中有这个变量

$status = 'active';

我在 javascript 文件中有这个

$.ajax({
        type: "POST",
        url: "check.php",
        success: function(check) {
        var statusJS = '<?php echo $status; ?>';
        if (check[statusJS] == "active" {
        alert("status : active");
}}})

这个完整的 check.php 文件

<?php
$status = 'active';
$gpa = 'html data here';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
echo $gpa;
echo $status;
} else {
include("gp-e.php");
}
?>

是否可以在 javascript 中从 php 获取变量值而不在 php 文件中回显它?

【问题讨论】:

  • 检查var_dump($status)和console.log(check,check[statusJs])
  • 我真的不明白我将把它放在 php 或 javascript 中的哪个位置,但我在 javascript 中测试它但在控制台中未定义

标签: javascript php ajax post get


【解决方案1】:

试试这个。

<?php
$status = 'active';
$gpa = 'html data here';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if ($status == 'active') {
        return print_r($status);
    }

} else {
include("gp-e.php");
}
?>

$.ajax({
    type:"POST",
    url:"dt.php",
    success:function(data){
        //alert(data);
        if (data.trim() == 'active') 
        {
            alert("status:" + data);
        }
        else
        {
            alert("Status:Inactive");
        }
    }
});

【讨论】:

  • 谢谢你的帮助,但是在哪里 echo $gpa,我想从 javascript 检查 php 变量,但也许这是不可能的,所以还是谢谢你:D,如果你对我的 (想法),我想保护我的脚本不被 httrack 等偷走,所以我想让 js 检查变量在 php 文件中是否具有相同的值,但是小偷无法获取变量值,因为只能以 html 格式下载文件,所以无法获取我的要运行的脚本:D
【解决方案2】:

根据我的说法,如果没有 javascript 中的 echo,就无法从 php 获取变量值。

但是您可以在输入字段之一中分配 php 值并在 javascript 中获取其值。

如下代码。

<input type="hidden" name="status" id="status" value="<?php echo $status; ?>" />

现在在 javascript 中获取该值 ::

var status = $("#status").val();

【讨论】:

    【解决方案3】:

    PHP

    <?php
      $status = 'active';
      $gpa = 'html data here';
    
      if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    
         $response = [
            'status' => $status,
            'message' => $gpa
         ];
    
         echo json_encode($response);
    
       } else {
           include("gp-e.php");
       }
     ?>
    

    JavaScript

    $.ajax({
        type: "POST",
        url: "check.php",
        dataType: "json",
        success: function(data) {
    
            if (data['status'] == "active" {
                alert("status : active");
            }
         }
    });
    

    【讨论】:

    • 我的php文件里面不全是json所以可能不行,我会测试一下
    • 您能否添加您的 php 文件完整代码以便我们提供帮助。或者您可以在 check.php 文件中创建一个检查状态的函数
    • 我的php文件很简单,我加了,检查一下
    • 它可以工作,但是由于添加数据类型:json 现在脚本无法从 php 获取 html,所以另一个函数损坏了,大声笑,无论如何谢谢你的帮助,我的想法没有走对路,因为我想要只从 php 获取变量值而不回显它,(以保护我的脚本不被 httrack 等盗用)(我想让 js 检查 php 文件是否从变量中给出值而不回显它,所以任何人偷了我的脚本都无法让它工作因为js找不到变量值)也许你明白我想要做什么:D
    【解决方案4】:

    你应该在check.php 中echo 它并创建一个数组

    $status = 'active';
    $gpa = 'some string'
    $data = $status . ',' . $gpa
    echo $data
    

    在你的 javascript 中

    $.ajax({
            type: "POST",
            url: "check.php",
            success: function(data) {
            var check = (new Function("return [" + data + "];")());
            if (check[0] == "active") { // check[0] is $status in php
            alert("status : active");
    }}})
    

    *如果你想echo 多个值。你可以创建一个对象/数组。

    【讨论】:

    • 在 php 中回显后如何在回显后进入 javascript?
    • 直接比对就好了
    • 我在 php 文件中有更多数据,如何只检查状态变量?
    • 数据结构是什么? php数组? php 对象?
    • 只有 html 数据。
    【解决方案5】:

    我想,您想检查$status = 'active' 是否将html 数据返回到您的javascript?

    【讨论】:

    • 是的,但没有在浏览器中打印,我只想在 js 中检查它
    猜你喜欢
    • 2012-04-05
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 2015-03-02
    • 2014-01-10
    • 2010-10-25
    • 1970-01-01
    相关资源
    最近更新 更多