2016-10-09 20 views
-1

AJAXは正常に動作しますが、$ _POSTに値はありません。

私がしようとしているもの:

  • $data = json_decode(file_get_contents('php://input'), true); & $post = json_decode($data);データを変更するstorecart.php
  • にデータ型(Jaromanda X)
  • 答えを取り除く'jCart=' + jData'
  • に(Umakant Mane)

cartオブジェクト

の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"; 
    } 
?> 

を受け入れるにはjson.stringify

SOLUTION:

が解決:

私がしたすべては隠された値JavaScriptで

<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> 

を持つフォームを追加しました

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

回答いただいた皆様、ありがとうございますが、これが役立つことを願っています。

+1

'私が試してみました何:' - あなたは** '設定しない試してみましたdataype: "JSON"、' - また、参照http://stackoverflow.com/a/18867369/5053002 –

+1

^、JSONをサーバーから取得する予定がある場合は、単に「Right」を送信することはできません! – adeneo

+0

@ジャロマンダX、最初のドットポイントは、あなたが与えたリンクからのものです –

答えて

-2
$(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"; 
    } 
?> 
関連する問題