I'm using jQuery to post HTTP requests to my PHP page (Apache/Linux, if that matters). I carefully validate on the client so that empty requests are not sent. However on occasions, I'd get an empty request like this:
- $_POST collection empty ($_GET collection also empty);
- Content-Length is nonzero (a number below 100, consistent with a valid POST from my script)
- Content-Type properly application/x-www-form-urlencoded
- reading from php://input yields an empty string
$ _POST Şekilde yolda yenir sanki. Ben çok dikkatli kodunu kontrol - Ben $ _POST içeriğine bir şey yapmak değil.
AÇIKLAMA: Ben sunucuda bu durumu yakalamak yapmak; benim kod korkunç öldürdüğü gibi değil. Ama kullanıcı girişi hakiki eksikliği değil çok güçlü bir duygu, ama yolda veri bozulması çeşit var. Neden başka bir sıfırdan farklı içerik-uzunluk olurdu?
Istemci tarafı doğrulama başarısız olursa, ben boş alanları ile $ 'POST olsun istiyorum. Şeyler vardır yolu, ben hiç alanlarını alıyorum. Tamamen şaşkın.
Herhangi bir fikir lütfen?
GÜNCELLEME: istemci tarafı isteği İbraz kod şöyle:
var r = trim((re = document.getElementById("tread")).value),
m = trim((me = document.getElementById("tmean")).value);
if(r == "" && m == "")
alert("Please provide.");
else
{
$.post(URLPrefix + "tsearch.php", {R : r, M : m, Src:"bytext"}, DoneSearch, "html");
}
Gider aynı sunucu tarafı komut dosyası, başka bir istek de var:
$.post(URLPrefix + "tsearch.php", {K0 : KCode(0),
K1 : KCode(1), K2 : KCode(2), K3 : KCode(3),
P : document.getElementById("pos").checked ? 1 : 0,
Src:"bykanji"}, DoneSearch, "html");
Ben tüm alanların koşulsuz olarak bu kod, boş bir POST koleksiyon sağlayabilir nasıl görmüyorum.