Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript POST数组未接收JSON类型的xhr数据_Javascript_Php_Xmlhttprequest - Fatal编程技术网

Javascript POST数组未接收JSON类型的xhr数据

Javascript POST数组未接收JSON类型的xhr数据,javascript,php,xmlhttprequest,Javascript,Php,Xmlhttprequest,我对此有点困惑。我想通过xhr在客户端从服务器获取json文件的内容,但我似乎无法管理 没有Jquery,所以是普通的XMLHttprequest function getJson(user, value) { params = "user=" + user + "&value=" + value; request = new ajaxRequest(); //wrapper around xmlhttprequest request.open("POST", "checkS

我对此有点困惑。我想通过xhr在客户端从服务器获取json文件的内容,但我似乎无法管理

没有Jquery,所以是普通的XMLHttprequest

function getJson(user, value) {
  params = "user=" + user + "&value=" + value;
  request = new ajaxRequest(); //wrapper around xmlhttprequest
  request.open("POST", "checkSJ.php", true);  
  request.setRequestHeader("Content-type", "application/json");
  request.setRequestHeader("Content-length", params.length);
  request.setRequestHeader("Connection", "close");
  request.onload = function() {
  var status = request.status;
  if (this.readyState == 4)
        if (this.status == 200)
            if (this.responseText != null)
                O('contents').innerHTML = this.responseText;
 }
 request.send(params);
}
当我打印$POST数组的内容时,我得到一个空数组,尽管当我在Firebug中签出源时,参数及其值正在被发送

你知道为什么这不起作用吗?我对任何能完成这项任务的工作实例都很满意。

request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
除去

request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Content-type", "application/json");
由于您没有发送JSON,
另外,内容长度也不需要。

我非常接近。我尝试了使用默认内容类型,但没有删除内容长度属性。谢谢,我现在得到了我期待的键值对。