Một yêu cầu HTTP bao gồm hai phần. Một tập hợp các tiêu đề và một cơ thể.
Tiêu đề bao gồm những thứ như URL được yêu cầu và người trợ giúp kiểm soát bộ nhớ đệm (chẳng hạn như "Tôi có phiên bản này từ hôm qua, chỉ cung cấp cho tôi một phiên bản mới nếu có thay đổi, OK?").
Cơ thể có thể hoặc có thể không xuất hiện tùy thuộc vào loại yêu cầu. Yêu cầu POST có nội dung.
Cơ thể có thể ở bất kỳ định dạng nào mà khách hàng thích. Một trong các tiêu đề sẽ cho máy chủ biết định dạng là gì.
Có một vài định dạng được sử dụng bởi biểu mẫu HTML và PHP biết cách phân tích cú pháp này và đưa dữ liệu vào $_POST
.
Nếu dữ liệu ở định dạng khác, chẳng hạn như JSON hoặc nếu dữ liệu không tuân theo các điều khoản của PHP (chẳng hạn như quy tắc để có []
ở cuối khóa có cùng tên) thì bạn có thể muốn truy cập dữ liệu trực tiếp để bạn có thể phân tích cú pháp đó.
Đó là dữ liệu POST thô.
Bạn đã thử xem có gì không? 'var_dump ($ HTTP_RAW_POST_DATA);' hoặc thậm chí tốt hơn 'var_dump (file_get_contents (" php: // input "));' – zerkms
@zerkms: Có, Nó là 'NULL'. Tôi đã thử cả hai và đầu ra là 'NULL',' chuỗi (0) "" 'tương ứng – Daric
http://stackoverflow.com/questions/3173547/whats-the-difference-between-post-and-raw-post-in- php-at-all –