XMLHttprequest 发送一个空帖子
Posted
技术标签:
【中文标题】XMLHttprequest 发送一个空帖子【英文标题】:XMLHttprequest sends an empty post 【发布时间】:2012-04-30 14:34:35 【问题描述】:我正在使用以下代码发送请求:
var ajaxHandler = new XMLHttpRequest();
ajaxHandler.onreadystatechange = function()
if(ajaxHandler.readyState == 4)
console.log(ajaxHandler.responseText);
ajaxHandler.open("POST", "filterCards", true);
ajaxHandler.send("category="+category+"&tag="+tag);
在 php 方面,我有这个:
var_dump($_POST);
但是,即使 category 和 tag 的变量都有值,控制台也会记录一个空数组。我的帖子有什么问题?
【问题讨论】:
【参考方案1】:web-nomad 的回答是正确的,但是如果您仍然收到一个空数组,请回忆一下您是否在服务器配置中隐藏了文件扩展名。如果是,那么对“file.extension”的请求将被重定向到“file”,并且 POST 数据丢失。
这是一个小错误,但也很容易被忽视。很容易假设错误出现在代码中而不是 URL 中,尤其是在返回数组时 - 所以人们可能认为 URL 是正确的。
【讨论】:
最近刚发生在我身上。我可以确认这也可能是问题【参考方案2】:在发送呼叫之前添加setRequestHeader
:
ajaxHandler.setRequestHeader("Content-type","application/x-www-form-urlencoded");
ajaxHandler.send("category="+category+"&tag="+tag);
替换:
if(ajaxHandler.readyState == 4)
console.log(ajaxHandler.responseText);
与
if(ajaxHandler.readyState == 4 && ajaxHandler.status==200)
console.log(ajaxHandler.responseText);
希望这会有所帮助。
【讨论】:
以上是关于XMLHttprequest 发送一个空帖子的主要内容,如果未能解决你的问题,请参考以下文章
KSoap-Android\JCIFS 发送空的 HTTP 帖子