2015-03-30 6 views
1

Я пробовал все, даже пытался отправить другие данные из моего кода в JavaScript и ничего не работает, PHP продолжает говорить мне, что $ _POST пуст, когда я пытаюсь file_get_contents("php://input"), он также дает мне пустой массив или нуль или что-то еще. Я пытаюсь отправить это через JSON, я думаю, что это не совсем необходимо, но в любом случае, PHP ничего не получает, независимо от того, что я отправляю. Я проверил хром, чтобы узнать, отправляется ли что-то, и запрос POST регистрировался в сети, а полезная нагрузка запроса отображает данные, которые я пытаюсь отправить, но всякий раз, когда я открываю свою страницу PHP в своем браузере, она отображает нуль, Массив() или пустой. Я думал, что это может быть связано с UTF-8, но я так не думаю. Я пробовал это часами. Здесь должно быть что-то не так, что я не вижу.PHP не получает данные от AJAX

Вот мой 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"; 
    } 

?> 

Пропустить материал подключения к базе данных, это довольно много нерелевантных, пока я не могу получить мои данные через. Я был бы очень признателен, если бы кто-то помог мне справиться с этим, это не может быть так сложно или сложно, как было, поскольку многие другие люди это делали раньше. Я действительно не могу понять, почему это не работает.

EDIT: Это то, что говорит мой журнал ответ:

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

Я вижу свою JSON прямо там, я не знаю, если это означает, что он работал. Журнал консоли все еще ничего не дал мне.

+2

Вы открываете страницу phpFiles/sendUserInfo.php вручную, чтобы проверить var_dump? Когда вы отправляете POST в этот PHP-файл, вы не увидите вывод с кодом, который вы поставили, потому что POST происходит асинхронно. Вы не можете открыть страницу PHP вручную после того, как это произошло, и ожидайте увидеть опубликованные данные. Это то, что вы пробовали? – Drakes

+0

Какой xmlhttp.responseText говорит ???? –

+0

Я не уверен, что получаю то, что вы говорите. Если вы имеете в виду, что я открываю свой PHP-файл, открывая его в chrome, щелкнув его или что-то еще, и открыв его с помощью chrome, я этого не делаю. Я помещаю его на localhost с его именем каталога. Если это считается ручным открытием файла, я думаю, что я это делаю. Я получил консольный журнал для ответа, но он ничего не говорит, есть только белая строка. Я новичок в этом, и это не учит в колледже, я очень много изучал его, когда я ухожу. – Argus

ответ

0

Просьба приступить к регистрации вашего xmlhttp.responseText, что говорится? Более простой способ использования ajax - с jQuery here

+0

Я понимаю, что JQuery проще, но это мой первый раз с веб-разработкой, и я не хочу привыкать к простому методу, а затем узнаю, что я ничего не знаю о JavaScript. – Argus

+0

Да, я понимаю вас, но. С помощью этого простого скрипта вы сделаете больше, чем когда-либо воображаете. Если хотите, я объясню вам скайп или что-то в этом роде. Это займет время. –

Смежные вопросы