POST数组没有接收JSON类型的xhr数据

时间:2014-04-06 17:45:41

标签: javascript php xmlhttprequest

我对此感到有些困惑。我想通过服务器上的json文件的内容通过xhr获取我的手,我似乎无法管理它。

没有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);
}

当我print_r $ _POST数组的内容时,我得到一个空数组,虽然当我检查我的Firebug中的源时,正在发送带有它们值的参数。

有关为什么这不起作用的任何想法?我满足于任何完成此任务的工作示例。

1 个答案:

答案 0 :(得分:0)

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

删除

request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Content-type", "application/json");

因为你没有发送JSON, 也不需要内容长度。