我在PHP中接收POST請求時遇到問題。我正在使用JavaScript通過POST請求將數據發送到PHP頁面。 JavaScript的是OpenLayers.js,併發送請求的部分看起來像這樣:從OpenLayers接收PHP中的POST請求JavaScript
var postrequest = OpenLayers.Request.POST({
url: "http://localhost/index.php",
data: "success",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
}
});
在PHP中,我使用這個代碼,看看有什麼我越來越:
<?php
print_r($_POST);
?>
這是發生了什麼事情:
- index.php接收POST請求。
- FireBug還通知POST參數包含已發送的成功。
- print_r($ _ POST);在index.php中只是給出了這個:array(),並且在JavaScript的POST請求之後不會改變。
所以數據發送和接收,但我的PHP代碼不知道它瞭解,或者我沒有使用正確的PHP函數。
任何建議,在哪裏看,以及要嘗試什麼?
PHP下載它要求在_POST/_GET的任何條目有一個有效的鍵:值建設 - 你傳遞一個簡單的「成功」字符串,這是令人困惑 - 是一個價值?那麼關鍵是什麼?這是一個關鍵嗎?沒有價值。您可以嘗試從'php:// input'讀取原始輸入。 –
謝謝馬克,我完全錯過了重點/價值建設,現在我改變了它。但是print_r($ _ POST)仍然是空的。 – Geolassi
你在做'data:「success = true」'?我不知道openlayers是如何工作的,但它也可以將它作爲原始字符串發送。 'data:{success:true}'會改變什麼嗎? –