Deseo enviar algunos datos en formato json a php y realizar alguna operación en php. Mi problema es que no puedo enviar datos json a través de ajax a mi archivo php. Por favor, ayúdenme, ¿cómo puedo hacer eso? He tratado de esta manera ..Enviando JSON a PHP usando ajax
<script>
$(function(){
$("#add-cart").click(function(){
var bid=$('#bid').val();
var myqty=new Array()
var myprice=new Array()
qty1=$('#qty10').val();
qty2=$('#qty11').val();
qty3=$('#qty12').val();
price1=$('#price1').val();
price2=$('#price2').val();
price3=$('#price3').val();
var postData =
{
"bid":bid,
"location1":"1","quantity1":qty1,"price1":price1,
"location2":"2","quantity2":qty2,"price2":price2,
"location3":"3","quantity3":qty3,"price3":price3
}
var dataString = JSON.stringify(postData);
$.ajax({
type: "POST",
dataType: "json",
url: "add_cart.php",
data: {myData:dataString},
contentType: "application/json; charset=utf-8",
success: function(data){
alert('Items added');
},
error: function(e){
console.log(e.message);
}
});
});
});
</script>
Y en PHP que utilizo:
if(isset($_POST['myData'])){
$obj = json_decode($_POST['myData']);
//some php operation
}
Cuando en el complemento print_r ($ _ POST) en el archivo PHP, muestra array (0) {} en Firebug.
Elimina el 'contentType:" application/json; charset = utf-8 ",'. –