$ _POST不起作用不提供从ajax传递的数据

时间:2019-05-16 10:27:59

标签: php json ajax

嗨,我想使用ajax传递给其他php页面的简单传递对象,但尝试检索其效果不佳。给我未定义的错误。检查我的代码以得到澄清。 看到我的错误屏幕截图:

enter image description here

  

Edit.php

$('#regForm').on('submit', function (e)
{
    var serialData = $(this).serialize(), 
        s = location.search.split('='), 
        searchId = s[s.length-1];

    console.log(serialData);
    console.log(searchId);

    $.ajax({
        method:'POST', 
        url:'update.php',
        dataType:'json', 
        data:{data:serialData, id:searchId},
        success:function(jsonObj){
            console.log(jsonObj);
        }
    });
});
  

update.php

<?php 
    if(isset($_POST['submit'])){
        var_dump($_POST['data']);
        var_dump($_POST['id']);

        exit();

        $phpObj = json_decode($_POST['data']);
        echo json_encode($phpObj);
    } 
?>

2 个答案:

答案 0 :(得分:-1)

尝试...

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
</head>
<body>
  <form>
    <input name="name"> <br>
    <input name="surname"> <br>
    <input type="submit" name="">
  </form>
  <button>send</button>
</body>
<script type="text/javascript">
    $('button').click(function(){
        var serialData = $('form').serialize(), 
        s = location.search.split('='), 
        searchId = s[s.length-1];

      $.ajax({
          method:'POST', 
          url:'update.php',
          dataType:'json', 
          data:{data:serialData, id:searchId},
          success:function(jsonObj){
              console.log(jsonObj);
          }
      });
    });
</script>
</html>

答案 1 :(得分:-2)

问题出在您的ajax电话中

$.ajax({
          method:'POST', 
          url:'update.php',
          dataType:'json', 
          data:{data:serialData, id:searchId},
          success:function(jsonObj){
              console.log(jsonObj);
          }
      });

它应该是type:'POST'而非方法。 这就是为什么您的数据无法通过PHP文件获取的原因。 您的PHP代码正常。