Odpowiedzi:
Jeśli dobrze rozumiem sytuację, zamiast application/x-www-form-urlencoded
danych przesyłasz dane json przez treść http .
Możesz pobrać te dane za pomocą tego fragmentu:
$request_body = file_get_contents('php://input');
Jeśli przechodzisz json, możesz zrobić:
$data = json_decode($request_body);
$data
następnie zawiera dane json w tablicy php.
php://input
jest tak zwanym opakowaniem .
php: // input to strumień tylko do odczytu, który umożliwia odczyt surowych danych z treści żądania. W przypadku żądań POST lepiej jest użyć php: // input zamiast $ HTTP_RAW_POST_DATA, ponieważ nie zależy to od specjalnych dyrektyw php.ini. Co więcej, w przypadkach, w których $ HTTP_RAW_POST_DATA nie jest wypełniane domyślnie, jest to potencjalnie mniej wymagająca ilość pamięci alternatywa dla aktywacji always_populate_raw_post_data. php: // wejście nie jest dostępne z enctype = "multipart / form-data".
Możesz także skonfigurować extJ za writer
pomocą i będzie on regularnie wysyłać dane (a zatem będziesz mógł pobierać dane przez i ).encode
: true
$_POST
$_GET
... wartości zostaną wysłane jako część parametrów żądania, a nie jako nieprzetworzony wpis (za pośrednictwem dokumentacji do kodowania konfiguracji Ext.data.writer.Json)
AKTUALIZACJA
Doktorzy również mówią, że:
Opcja encode powinna być ustawiona na true tylko wtedy, gdy zdefiniowano root
Tak więc, prawdopodobnie, writer
„s root
jest wymagane config.
writer
konfigurację roota? Może to być wymagane. encode
działa dla mnie imageshack.us/f/32/20120308153201.png