Ben tek bir sayfada Javascript bazı veriler uyumsuz bir php dosyasına göndermek almaya çalışırken muz devam ettik. Hatta verilerin, dışarı geri ajax çağrısından tükürmek için sadece bir var_dump ile bir şey yapmaya çalışıyor değilim. NULL tekrar tekrar.
Ben JSONLint ile JSON kontrol ettik ve sadece iyi doğrular. Ben JSON.stringify benim JSON alıyorum - Kundakçı Ben şu alıyorum bana söyler:
{"items":[["sa1074","1060"],["sa1075","1061"]]}
Ben işlevi hakkında PHP kılavuzu yorumlardan php :/ / girişi, yanı sıra json_decode_nice denedim, ve ben utf8_encode kullanarak denedim - benim JSON ile yanlış bir şey var mı?
EDIT: Derpity dee muhtemelen biraz daha haha bu yazı planlanmış olmalıdır. İşte benim PHP (PHP kılavuzu yorumlardan bir öneri kullanarak) bulunuyor
function json_decode_nice($json, $assoc = FALSE){
$json = str_replace(array("\n","\r"),"",$json);
$json = preg_replace('/([{,])(\s*)([^"]+?)\s*:/','$1"$3":',$json);
return json_decode($json,$assoc);
}
if (isset($_POST['build'])){
$kit = file_get_contents('php://input');
var_dump(json_decode_nice($kit));
}
Ve JS oluşturmak için kullanılır:
var jsonKit = JSON.stringify(kit);
$.post("kits.php?", {"build" : jsonKit},
function(data) {
$("#kitItems").html(data);
});
Ayrıca: Bizim ana PHP 5.2 - Ben sadece patlayabilir olması için gayet iyi bir redbean sınıf yükledi ben bu öğrendim. Yeniden uygulamak eski redbean ile vardı. Bizim ana bozulmuş.
Çözüldü: yorumladı herkese teşekkürler. $ _POST Slashesle kaçtı ediliyordu ve json_decode üzerinde boğucu Tırnaklar geliyor ne görmek için $ _POST kontrol düşünmüyordu. Çözme sorunu çözüldü önce bu satırı ekleyerek. Ayrıca bir ilişkisel dizi döndürür true ayarlamak için unuttum. Teşekkürler!
$kit = str_replace('\\', '', $kit);