我在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}'会改变什么吗? –