【问题标题】:Sending a localstorage variable to PHP将本地存储变量发送到 PHP
【发布时间】:2018-09-24 13:31:33
【问题描述】:

我想在页面加载时将本地存储变量传递给 PHP。这是我尝试过的

profile.php

$(document).ready(function(){              
    var userMarkVar = localStorage.getItem("userMark");
    jQuery.post("marks.php", {userMark: userMarkVar}, function(data){
        alert("Do something with marks.php responses");
    }).fail(function(){
        alert("Error");
    });
});

ma​​rks.php

<?php    
     $userMark = $_POST['userMark'];
?>

然后为了测试它,我在配置文件 PHP 中 echo $userMark。但是,虽然我得到了成功的“使用marks.php 响应做某事”警报,但我没有在profile.php 上得到$userMark 值。

有什么建议吗?

【问题讨论】:

  • 建议:做一个var_dump($_POST) 看看你有什么。如果没有任何价值,请检查您的网络选项卡以查看实际发送的内容。
  • “我在配置文件 php 中回显 $userMark”:在哪里?就在alert()?? 的旁边
  • @Jeff 所以我做了一个 var_dump,结果是“array(0) { }”。我在 中有上面的脚本,在 中有

标签: javascript php jquery local-storage


【解决方案1】:

这行不通! 脚本在客户端,PHP 在服务器端! 您必须以 HTML 表单加载数据并将其发布到您的 PHP 文件中。那么只有你可以通过 $_POST[...] 获得它!

【讨论】:

    【解决方案2】:

    我运行了你的代码,一切正常,

    如果你想获取你使用的数据

    alert(data);
    

    只有

    【讨论】:

      【解决方案3】:

      你的marks.php应该是这样的:

      <?php
      
       echo $userMark = $_POST['userMark'];
       echo $userMark;
      ?>
      

      然后您可以从脚本中的数据访问 userMark

      【讨论】:

        【解决方案4】:

        echo$userMarkmarks.php

        marks.php

        <?php
        
         echo $userMark = $_POST['userMark'];
         echo $userMark;
        
        ?>
        

        profile.php

        并在 javascript 中提醒 data

         $(document).ready(function(){
        
                var userMarkVar = localStorage.getItem("userMark");
        
                jQuery.post("marks.php", {userMark: userMarkVar}, function(data){
                  alert(data);
                }).fail(function(){
                  alert("Error");
                });
        

        });

        【讨论】:

        • 谢谢,当我收到有关本地存储数据的警报时,这很有效。但是,我如何确认这正在发送到 php 文件?因为我想稍后将 php 文件中的数据发送到 mysql 数据库
        • alert(data) 已经是 php 发回的数据了。这就是你的确认。
        • 你将在marks.php中获取所有通过javascript发送的变量,你可以在其中处理数据以插入数据库,然后提醒成功添加
        • 无论你在marks.php中回显什么,它都会在警报中显示它是对javascript ajax的响应
        • 非常感谢,刚刚用我的数据库检查了它——它有效!是的,是的! @pradeep
        猜你喜欢
        • 1970-01-01
        • 2021-11-24
        • 2016-07-21
        • 1970-01-01
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 2011-10-17
        • 1970-01-01
        相关资源
        最近更新 更多