PHP "://php giriş" vs $_POST
Ajax ile JQuery istekleri etkileşim yöntemi php://input
$_POST
yerine kullanmaya yönelik olmuştur. Anlamıyorum ne bu vs $_POST
$_GET
küresel yöntemini kullanmanın yararları.
CEVAP
Nedeni php://input
istek HTTP başlıkları, içerik türü ne olursa olsun sonuçta ham verileri döndürür.
PHP superglobal* *7, sadecegerekiyorduya veri sarın
application/x-www-form-urlencoded
(basit standart içerik türü-mesaj formu)multipart/form-data
-kodlanmış (genelde dosya yükleme için kullanılır)
Bu must be supported by user agents sadece içerik türleri vardır çünkü. Sunucu ve PHP, geleneksel olarak, herhangi bir diğer içerik türü bulamaz anlamına gelmez) almak için beklemeyin.
Sadece iyi bir HTML YAZI eğer form
istek, bu gibi görünür:
POST /page.php HTTP/1.1
key1=value1&key2=value2&key3=value3
Ama eğer çalışma ile Ajax bir sürü, bu probaby de içerir alışverişi daha karmaşık veri türleri (string, int, bool) ve yapılarını (diziler, nesneler), bu yüzden çoğu durumda JSON olduğunu en iyi seçim. Ama JSON-yük bir istek bu gibi bir şey olacaktır:
POST /page.php HTTP/1.1
{"key1":"value1","key2":"value2","key3":"value3"}
İçeriği şimdi application/json
(ya da en azından hiçbiri söz) olur, $_POST
-poşetiydi PHP (henüz) işlemek için nasıl bilmiyor.
Veri hala orada, sadece sarıcı ile erişemiyorum. Gidip kendin içinfile_get_contents('php://input')
raw formatı(as long as it's not multipart/form-data
-encoded)sana çok ihtiyacım var.
Bu XML veri veya standart olmayan herhangi bir diğer içerik türü erişiminin nasıl da.
IE10's "açık alan" X be...
JavaScript a "tıklayın" Prog...
'devre dışı=&; devre dışı" " ...
Devre dışı bırakmak ve aynı zamanda y&...
En iyi giriş tipi-tip olarak değiştiği...