post在下面的内容中是什么意思?
ajaxRequest = new XMLHttpRequest();
ajaxRequest.open("POST", "url" + queryString, true);
因为我不能使用$_POST['var']
从url访问变量,但是使用$_REQUEST['var']
我可以访问value..
发布于 2010-02-11 18:11:30
从$_POST
读取数据时,应该在HTTP体中传递参数,而不是使用查询字符串。
您需要发送参数,如下例所示:
ajaxRequest = new XMLHttpRequest();
ajaxRequest.open("POST", "your_service.php", true);
ajaxRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
ajaxRequest.send("var=100&another_var=200");
发布于 2010-02-11 18:10:24
您无法通过$_POST
访问参数,因为您将它们附加到URL (即,它们可以通过$_GET
访问),并且不将它们作为POST
数据发送。
如果您想通过POST
发送参数,请看一下send()
方法。
发布于 2010-02-11 18:16:53
POST
是包含在超文本传输协议请求(如XMLHTTPRequest
)中的内容。
在本例中,您将查询字符串添加到URL,这意味着它将作为GET变量传递。即使是post请求,PHP仍然可以访问作为查询字符串添加的任何GET变量。
根据您的代码,我认为您没有告诉请求应该在请求的POST部分包含哪些信息,这可以解释为什么您看不到$_POST['var']
的任何内容。
但是,由于$_REQUEST['var']
在GET
和POST
中查找请求变量以及请求中传递的任何cookie,因此可以看到通过查询字符串传递的变量。
尝试回显$_GET['var']
,您将看到变量就是从这里获取数据的。
如果希望以正确的方式使用POST,则不需要将请求指向具有查询字符串的URL,而是将该查询字符串定义为post数据。
https://stackoverflow.com/questions/2243656
复制相似问题