【问题标题】:ajax to php undefined indexajax 到 php 未定义索引
【发布时间】:2012-10-29 04:14:11
【问题描述】:

我见过这样的问题,但似乎没有一个答案对我有用。我试图将 POST 数据发送到一个单独的 php 文件,该文件会将其插入数据库。我收到一条 PHP 通知:未定义索引 arg1 和 arg2 .....这里是 ajax:

function performAjaxSubmission() {
        $.ajax({
          url: 'likedata.php',
          method: 'POST',
          data: {
            'action': 'save',
            'arg1': '<?php echo $_SESSION['userId'];?>', 
            'arg2': '<?php echo $p;?>'

          },
          success: function() {
            alert("success!");
          }
        });
        return false; // <--- important, prevents the link's href (hash in this example) from executing.
      }

      jQuery(document).ready(function() {
        $(".icon-thumbs-up").click(performAjaxSubmission);
      });

这里是likedata.php

if(isset($_POST)){
$liker = $_POST['arg1'];
$likee = $_POST['arg2'];

$profile->insertLikes($liker, $likee);


}

谢谢!

【问题讨论】:

  • print_r($_POST);是否正确填充?
  • 给 arg1 和 arg2 一个静态值,看看结果中的线索。
  • 其他一些调试步骤:var_dump 您在发送的原始 PHP 文件中的值,这些值实际上是否正确地放入了 javascript($_SESSION 值等)?如果它们在 php 端看起来不错,请在发送 AJAX 之前查看浏览器源代码,这些值是否正确显示在那里,是否有任何 JS 错误?如果没问题,那么发送表单并使用 Firebug 等查看它发送的内容,这些值是否出现在传出的 POST 中? (听起来你之前的回复没有,但可能有什么东西触发了它两次,最后一个电话是空的,发生了奇怪的事情)
  • 谢谢,我给了他们数值,但它仍然是空的

标签: php jquery ajax


【解决方案1】:
        'arg1': "<?php echo $_SESSION['userId'];?>", 
        'arg2': "<?php echo $p;?>"

单引号内有单引号,没有转义。

【讨论】:

    【解决方案2】:
    $.post("likedata.php",{
    'arg1': "<?php echo $_SESSION['userId'];?>", 
    'arg2': "<?php echo $p;?>"postaction:'action' },
    function(data){
      .
      .
      .
    },'json');
    

    【讨论】:

      猜你喜欢
      • 2018-01-25
      • 1970-01-01
      • 1970-01-01
      • 2019-08-18
      • 1970-01-01
      • 2015-04-06
      • 2017-08-04
      • 2017-04-11
      • 1970-01-01
      相关资源
      最近更新 更多