如何在PHP中访问我的Javascript变量?

时间:2015-11-22 06:26:16

标签: javascript php variables parse-platform server

我有一个名为lightstatuspage.php的文件,其中包含HTML,JavaScript和PHP代码。我在代码的JavaScript部分中使用了一些变量,我试图将这些变量传递给服务器,方法是将它们传递给代码的PHP部分。但是,这不起作用。

我正在使用$.post("lightstatuspage.php", slider_val);,然后在PHP部分中,我通过$_GET['rangeslider_val'];调用变量。

我做错了什么,我可以做些什么来从JavaScript获取变量并将其发送到服务器?

    function show_value(x)
    {
       document.getElementById("slider_value").innerHTML=x;

       event.preventDefault();
       var slider_val = x;
       var query = new Parse.Query(Post);
       query.first({
          success: function(objects){
            objects.set("slider_val", slider_val);
            objects.setACL(new Parse.ACL(Parse.User.current()));

            return objects.save();

            window.location.href = "lightstatuspage.php?rangeslider_val=" + slider_val;
          }
       })
    }

PHP代码是:

<?php
    $_GET['rangeslider_val'];

    print($rangeslider_val);
?>

4 个答案:

答案 0 :(得分:5)

首先添加Jquery

maxOfRest

到关闭body标签之前的页面末尾。 将Javascript变量发送到PHP。最好的方法是使用Ajax。并将以下代码添加到您的JavaScript。 不要忘记以下代码应该出现在事件中。例如,点击按钮或类似

<script src='https://code.jquery.com/jquery-1.11.3.min.js'></script>

在php中,您可以使用:

$( document ).ready(function() {
    var x = $('#input1').val();
    //or var x= 15;
    $.post("lightstatuspage.php",
    {
      'rangeslider_val': x
    },
    function(data, status){
    //alert("Data: " + data + "\nStatus: " + status);
   // you can show alert or not
    });
});

现在你的变量在php中是$ value。

P.S: 后端页面和HTML页面应位于同一域中,或者您必须检查跨源资源共享

第二个解决方案 因为用户接受此解决方案,这里将是代码:

$value = $_POST['field1'];

第二种方式只是POST和GET方法之间的区别

第三种解决方案 如果你不想在你的项目中使用Jquery,你需要纯JavaScript,你可以使用下面的代码

$.get("lightstatuspage.php?rangeslider_val=" + slider_val,function(res) {
      console.log(res);
});

答案 1 :(得分:1)

更改JS函数的最后两行的顺序。在更改页面位置之前,您是return来自该功能的。

答案 2 :(得分:0)

你忘了在打印中存储变量

ADODB.Connection

&GT;

答案 3 :(得分:0)

你调用$ _GET但是你没有将值赋给PHP中的变量$ rangeslider_val,而是在调用PHP脚本之前用JavaScript返回。另外你提到你想要使用clentside的$ .post,如果你这样做,你必须使用PHP $ _POST从那里获取它。