PHP没有从AJAX接收数据

时间:2015-03-30 04:09:25

标签: javascript php ajax

我已经尝试了所有的东西,我甚至尝试用我的代码在JavaScript中发送其他数据并且没有任何作用,PHP一直告诉我$ _POST是空的,每当我尝试file_get_contents("php://input")时它也会给我一个空数组,或者null或者其他什么。我试图通过JSON发送它,我认为这不是完全必要的,但无论哪种方式,PHP都不会收到任何内容,无论我发送什么。我检查了chrome以查看是否有东西被发送,并且POST请求被记录在Network中,请求有效负载显示我正在尝试发送的数据但是每当我在浏览器中打开我的PHP页面时它显示为null, Array()或空。我认为它可能与UTF-8有关,但我不这么认为。我一直在尝试这几个小时。这里有一些错误,我没有看到。

这是我的javascript代码:

window.onload = function findSubmitButton() {
    var button = document.querySelector(".send_info").addEventListener("click", serverInteraction);
}

function serverInteraction() {
  var xmlhttp;
  var inputArray;
  var finalArray = [];
  var JSONArray;
  var userId;
  if (window.XMLHttpRequest){
      xmlhttp = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } else {
      throw new Error("Your Browser is not compatible with XMLHTTP");
      return false;
  }
  inputArray = document.querySelectorAll("input[type=text]")
  for(var i = 0; i < inputArray.length; i++){
      finalArray[i] = inputArray[i].value;
  }
    console.log(finalArray);
    JSONArray = JSON.stringify({finalArray: finalArray}); 
    console.log(JSONArray);
    xmlhttp.open("POST","phpFiles/sendUserInfo.php", true);
    xmlhttp.setRequestHeader("Content-type","application/json;charset=UTF-8");
    xmlhttp.send(JSONArray);
}

这是我现在的PHP:

<?php
    $connection = oci_connect('User', 'password', 'localhost/dbXDB');
    var_dump($_POST);
    if(!$connection){
        $e = oci_error();
        trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    }
    else {
        echo "Connection Established";
    }

?>

忽略数据库连接的东西,在我可以获取数据之前,它几乎无关紧要。我真的很感激,如果有人可以帮我解决这个问题,它可能不会像现在这样困难或困难,因为很多其他人之前已经这样做了。我真的无法弄清楚为什么它似乎不起作用。

编辑:这是我的回复日志所说的:

   {"finalArray":["1","2","3","4","5","6"]}Connection Established

我在那里看到我的JSON,我不知道这是否意味着它有效。控制台日志仍然没有给我什么。

1 个答案:

答案 0 :(得分:0)

请控制台登录你的xmlhttp.responseText,这是什么意思? 使用ajax的更简单方法是使用jQuery here