weixin_33696106 2016-10-09 11:33 采纳率: 0%
浏览 30

$ _POST将不会收到Ajax

AJAX works fine, but $_POST does not have a value.

What I have tried:

  • $data = json_decode(file_get_contents('php://input'), true); & $post = json_decode($data); into storecart.php
  • Changing the data into 'jCart=' + jData'
  • removing datatype (Jaromanda X)
  • answer (Umakant Mane)

cart is an array of objects

Javascript:

        $(document).ready(function(){
            $("#showcart").click(function(event){
                event.preventDefault();
                showcart();
                url = 'cart.php';
                $(location).attr("href",url);
            });
        });

        function showcart(){
            var jData = JSON.stringify(cart);
            $.ajax({
                url:"storecart.php",
                type:"post",
                data: {jCart : jData},
                datatype: "json",
                success: function(data){
                    console.log("SUCCESS")
                    console.log(jData);
                },
                error: function(data){
                    console.log("REDO")
                }
            });     
        }

storecart.php:

<?php
    if(isset($_POST['jCart'])){
        echo "Right";
    }else{
        echo "Wrong";
    }
?>

How do get the $_POST to accept the json.stringify?

SOLUTION:

SOLVED:

All i did was add a form that has a hidden value

<form id = "postform" action = "cart.php" method = "post">
  <input type = "hidden" id="obj" name="obj" val="">
  <input type = "submit" value = "Show Cart" id = "showcart">
</form>

In the Javascript:

$(document).ready(function(){
  $("#showcart").click(function(){
    var json = JSON.stringify(cart)
    $('#obj').val(json);
    $('#obj').submit();
  });
});

Thank you for everyone that has answered but hope this helps.

  • 写回答

1条回答 默认 最新

  • perhaps? 2016-10-09 11:46
    关注
     $(document).ready(function(){
     var data = {one:"one", two:"two", three:"three"};
     var jsonData = JSON.stringify(data);
      $("#clickme").click(function() {
      $.ajax({
      url:"demo.php",
      type:"POST",
      data:{cart:jsonData},
      success:function(response){
          console.log(response);
      }, error:function(err) {
        console.log(err);
     }
    
     })
     }); 
     });
    

    PHP

      <?php
    
     if(isset($_POST['cart'])){
        echo "Right";
      }else{
        echo "Wrong";
      }
    ?>
    
    评论

报告相同问题?

悬赏问题

  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备