Javascript PHP没有从AJAX接收数据
我什么都试过了,我甚至试过用JavaScript从我的代码中发送其他数据,但什么都不起作用,PHP总是告诉我,$\u POST是空的,每当我尝试Javascript PHP没有从AJAX接收数据,javascript,php,ajax,Javascript,Php,Ajax,我什么都试过了,我甚至试过用JavaScript从我的代码中发送其他数据,但什么都不起作用,PHP总是告诉我,$\u POST是空的,每当我尝试file\u get\u contents(“php://input“它还给我一个空数组,或者一个空数组或其他什么。我试图通过JSON发送,我认为这并不是必须的,但无论如何,PHP都不会收到任何东西,不管我发送什么。我通过chrome查看是否有东西被发送,是POST请求登录到网络,请求负载显示我试图发送的数据,但每当我在浏览器中打开我的PHP页面时,它都
file\u get\u contents(“php://input“
它还给我一个空数组,或者一个空数组或其他什么。我试图通过JSON发送,我认为这并不是必须的,但无论如何,PHP都不会收到任何东西,不管我发送什么。我通过chrome查看是否有东西被发送,是POST请求登录到网络,请求负载显示我试图发送的数据,但每当我在浏览器中打开我的PHP页面时,它都会显示null、Array()或empty。我认为这可能与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);
}
我看到我的JSON就在那里,我不知道这是否意味着它有效。控制台日志仍然没有给我任何信息 请将您的xmlhttp.responseText记录下来,您在说什么?
使用ajax的更简单方法是使用jQuery是否手动打开phpFiles/sendUserInfo.php页面以检查var_转储?当您将POST发送到此PHP文件时,您将看不到所提供代码的输出,因为POST是异步进行的。发生这种情况后,您不能手动打开PHP页面,希望看到发布的数据。这就是您尝试过的吗?xmlhttp.responseText在说什么???我不确定我是否理解您所说的。如果你的意思是我在打开我的PHP文件,在chrome中单击它或其他东西,然后用chrome打开它,那么我没有这样做。我把它和它的目录名放在localhost上。如果这算是手动打开文件,那么我想我正在这样做。我确实得到了控制台的响应日志,但它什么也没说,只有一条白线。我在这方面是新手,这不是大学里教的,我一直在学习它php://input"));` 什么都不给你?我知道JQuery更简单,但这是我第一次从事web开发,我不想习惯这种简单的方法,然后发现我对JavaScript一无所知。是的,我理解你,但是。有了这个简单的脚本,你将比现在想象的做得更多。如果你想的话,我会通过skype或其他方式向你解释。这需要时间。
<?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