Odpowiedzi:
Jeśli dobrze rozumiem sytuację, zamiast application/x-www-form-urlencodeddanych 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://inputjest 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 writerpomocą 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 rootjest wymagane config.
writerkonfigurację roota? Może to być wymagane. encodedziała dla mnie imageshack.us/f/32/20120308153201.png