【问题标题】:Undefined index in php when getting value passed from AJAX获取从 AJAX 传递的值时 php 中未定义的索引
【发布时间】:2016-05-02 02:39:18
【问题描述】:

我正在尝试获取我在 AJAX 中传递给 PHP 的值。它会显示一条警报,上面写着“成功!”但是,当我尝试在 PHP 中显示该值时,它会显示未定义的索引。我也在同一页面中传递它。

每当我单击一个按钮时,它都会打开一个模式,并且我还将值从该按钮传递到模式。这在我的 JS 代码中很明显。

<script>
        $(document).ready(function(){
          $('#editModal').on('show.bs.modal', function (e) {

            var id = $(e.relatedTarget).data('id'); //im trying to pass this value to php, e.g. 5
            var time = $(e.relatedTarget).data('time');
            var name = $(e.relatedTarget).data('name');
            var stat = $(e.relatedTarget).data('stat');
            var desc = $(e.relatedTarget).data('desc');
            alert(id);
            $("#task_id_edit").val(id);
            $("#new-taskID").val(id);

            $("#allotted_time_edit").val(time);
            $("#task_name_edit").val(name);
            $("#task_status_edit").val(stat);
            $("#task_desc_edit").val(desc);
            $("#task_id_ref2").val(id);


           //AJAX CODE HERE
           $(function() {
                $.ajax({
                    type: "POST",
                    url: 'tasks.php?id='<?php $id = isset($_GET['id']) ? $_GET['id'] : ""; echo $id; ?>,
                    data: { "userID" : id },
                    success: function(data)
                    {
                        alert("success!"); //this display
                    }
                });
           });



           }); // line 1131
        });
</script>

PHP 代码:

<?php

   $uid = $_POST['userID'];
   echo $uid." is the value"; 

?>

它不断收到一条错误消息,显示未定义索引:用户 ID。我很困惑。请帮我解决这个问题。您的帮助将不胜感激!谢谢!

【问题讨论】:

  • 您是否在 javascript 控制台上遇到任何错误?
  • 它说,“tasks.php:1131 Uncaught SyntaxError: Unexpected number”.. 我已经编辑了问题以显示第 1131 行是什么
  • 不要在数据中引用用户 ID。不是说它的问题,而是

标签: javascript php jquery ajax


【解决方案1】:

在 javascript 字符串中回显数字。

目前你会得到:

url:'tasks.php?id='1,

1 应该连接起来或放在引号内。试试:

url: 'tasks.php?id=<?php $id = isset($_GET['id']) ? $_GET['id'] : ""; echo $id; ?>',

或者去掉那个参数,因为它似乎没有被使用。

【讨论】:

  • 是否发送操作通过 post 获取值?
  • AJAX 正在发送 POST,但 urlGET,格式不正确。
  • 但它们的 id 相同吗?我怀疑它们是 2 个不同的
  • 不知道id的用法是什么,但是JS拼接不正确。
  • 是的,我同意 :-) 但无论如何,帖子仍然可以工作。
【解决方案2】:

只需将$_POST['userID'] 放在 if 语句中

未定义索引:UserID 不是错误而是警告

<?php
   if(isset($_POST['userID'])
   {
   $uid = $_POST['userID'];
   echo $uid." is the value"; 
   }
   else
   {
     echo "Sorry Value cant be printed";
   }

?>

【讨论】:

  • 谢谢你,但 else 语句中的那个打印:(
  • 如果直接打开php页面总是会陷入else部分,因为没有设置POST变量。
猜你喜欢
  • 2014-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-18
  • 2018-01-25
  • 2018-10-16
  • 2020-03-08
  • 1970-01-01
相关资源
最近更新 更多