JQuery PHP json

4 Cevap php

I need to pass a JSON object from $.post() jQuery function to PHP page.
I tried this plugin jquery-json, but don't work:

//include jquery.js and jquery.json.js

$(document).ready(function(){ 
   var data = new Object(); 
   data.hello = "Hello"; 
   data.world = "World"; 
   var datajson = $.toJSON(data); 
   $.post('file.php', {data: datajson}, function(res){ 
   alert(res);
   }); 
});

Ve file.php bu basit bir çizgi vardır:

<?
var_dump(json_decode($_REQUEST['data'], true));
?>

Sorun ne?

4 Cevap

Bir kaç şey:

Bir datajson değişken beyan değil, olması gerektiği


$.post('file.php', {data: dataString}, function(res){ 
   alert(res);
}); 

yerine?

Ayrıca PHP bir tipi var gibi görünüyor: son_decode json_decode gerekiyor.

Bu fonksiyon yanlış olduğunu düşünüyorum son_decode

Bu olmalı json_decode Referans here

phpinfo() php-json aslında mevcut olduğunu kontrol edin. Bazı kurulumlarda, öyle değil.

PHP çünkü ayarı Magic Tırnaklar bölü ekleyerek olabilir. Kolay düzeltme şöyle etrafında stripslashes () sarmak için:

$data = stripslashes(json_decode($_REQUEST['data'], true));

Bir daha derinlemesine cevap here. Ayrıca muhtemelen güvenlik nedenleriyle $_POST yerine $_REQUEST kullanımı gerekir.