Alışveriş sepetinde çalışıyorum. Şimdi veritabanına eklemek için localStorage'da depolanan php sayfasındaki alışveriş sepetine eklenen nesneler dizisini geçmem gerekiyor. Ben doğru submit_cart.php denilen bir php sayfasına bu JSON dizesi geçmek ve php sayfasında dizeyi almak için çalışıyorumJSON işlevini ajax ile PHP'ye nasıl aktarır ve alırsınız?
Şimdi[{"name":"Banana","price":1.33,"count":5},{"name":"Apple","price":1.22,"count":5},{"name":"Shoe","price":22.33,"count":1}]
, nasıl:
console.log(localStorage.getItem("shoppingCart"));
Üstü aşağıdaki dışarı kaydeder Ben bunu yaparım? Şu anda boş veri gönderiyor ve alıyor. submit_cart.php olarak
$("#submit-cart").click(function(event){
console.log("****TEST LOG ***");
console.log(localStorage.getItem("shoppingCart"));
var data = localStorage.getItem("shoppingCart");
$.ajax({
type: "POST",
dataType: "json",
url: "submit_cart.php",
data: data,
success: function(data) {
console.log("******success******");
console.log(data);//this logs []
}
});
});
önerilen cevap olarak
<?php
$return = $_POST;
$return["json"] = json_encode($return);
$data = json_decode($return["json"], true);
echo json_encode($return["json"]);
?>
EDITED ve şimdi çalışıyor:
$("#submit-cart").click(function(event){
console.log("****TEST LOG ***");
console.log(localStorage.getItem("shoppingCart"));
var data = localStorage.getItem("shoppingCart");
$.ajax({
type: "POST",
dataType: "json",
contentType: 'application/json',
url: "submit_cart.php",
data: data,
success: function(data) {
console.log("******success******");
console.log(data);//this logs []
}
});
});
submit_cart.php
<?php
$_POST = json_decode(file_get_contents('php://input'),true);
print_r($_POST);
?>
Aldığınız hata nedir? – urfusion
ajax'ın başarılı fonksiyonunda boş veri alıyorum, yani ajax doğru bir şekilde veri göndermiyor ya da php doğru şekilde kodunu çözmüyor. – 112233
Verilere değer atandıktan sonra bir uyarı yapın ve uyarı (data) gibi nasıl bir değer elde ettiğinizi görün; – LearningPhase