gpt4 book ai didi

javascript - 为什么我在使用 AJAX/PHP 时收到未定义索引错误?

转载 作者:行者123 更新时间:2023-11-30 06:52:01 25 4
gpt4 key购买 nike

我目前正在开发一个遥控应用程序,我正在尝试将操纵杆坐标从 Javascript 发送到 PHP。但是,由于出现未定义索引错误,我永远无法通过 PHP 文件访问数据。

我知道这个问题已经被解决了很多次,但过去一周我一直在浏览论坛和谷歌,但我尝试过的解决方案都没有奏效,所以如果有人能看一下,我将不胜感激我的代码,看看我是否有一些基本的误解或特定于应用程序的问题。

编辑:我之前忘了提这个,但我尝试了一些其他人在线发布的示例 PHP/AJAX 代码,但运行该代码也不起作用,这让我觉得这可能是我的服务器的问题配置。

我的代码:(仅包括我认为与问题相关的文件;如果您想查看项目中的其他文件,请告诉我。)JavaScript 和 PHP 文件位于同一目录中。我正在使用 XAMPP。

joystick.js(包含 ajax 调用)

var hasGP = false;
var repGP;

// Joystick State Variables
var triggerPressed;
var x_value;
var y_value;
var z_value;
var t_value;

function canGame()
{
return "getGamepads" in navigator;
}

function reportOnGamepad()
{
// Display the gamepad's ID.
var gp = navigator.getGamepads()[0];
var html = "";
html += "<u>ID</u>: " + gp.id + "<br>";

// Display the status of the x-axis.
x_value = gp.axes[0];
html += "<u>x-axis</u>: " + x_value + "<br>";

// Display the status of the y-axis.
trigger_pressed = gp.buttons[0].pressed;
y_value = gp.axes[1];
if (trigger_pressed)
{
html += "<u>Pitch angle</u>: " + y_value + "<br>";
}
else
{
html += "<u>y-axis</u>: " + y_value + "<br>";
}

// Display the status of the z-axis.
z_value = gp.axes[3];
html += "<u>z-axis</u>: " + z_value + "<br>";

// Display the status of the t-axis.
t_value = gp.axes[2];
html += "<u>Roll angle</u>: " + t_value + "<br>";

$("#gamepadDisplay").html(html);

$.ajax({ url: 'ajax.php',
type: 'POST',
data: {x:x_value},
success: function(data)
{
console.log("x_value " + data + " has been sent to the server.");
}
});

}

$(document).ready(function()
{
if(canGame())
{
var prompt = "To begin using your gamepad, connect it and press any button!";
$("#gamepadPrompt").text(prompt);

$(window).on("gamepadconnected", function()
{
hasGP = true;
$("#gamepadPrompt").html("<b>The gamepad has been successfully connected.</b><br><br>");
console.log("connection event");
repGP = window.setInterval(reportOnGamepad,100);
});

$(window).on("gamepaddisconnected", function()
{
console.log("disconnection event");
$("#gamepadPrompt").text(prompt);
window.clearInterval(repGP);
});

// Set up an interval for Chrome
var checkGP = window.setInterval(function()
{
console.log('checkGP');
if(navigator.getGamepads()[0])
{
if(!hasGP) $(window).trigger("gamepadconnected");
window.clearInterval(checkGP);
}
}, 500);
}
});

ajax.php(Javascript 数据应发送到的文件)

<?php
$temp = $_POST['x'];
if(isset($temp) && !empty($temp))
{
echo "x value is ". $temp ."!"; // Success Message
}
?>

错误信息:

Notice: Undefined index: x in C:\xampp\htdocs\TeachMoverInterface\ajax.php on line 2

PHP $_POST 数组似乎是空的。

可能有用的浏览器调试信息:

enter image description here

enter image description here

正如我所说,过去一周我一直在查看论坛,所以我尝试解决问题的一些操作是更改格式、更改 ajax 方法中的缓存和异步属性、替换 ajax使用 $.post 调用或 XMLHttpRequest 调用,用 ajax 调用中的数字替换 JavaScript 变量,以及我忘记的其他一些方法。

最佳答案

<?php
if(!empty($_POST)){
$temp = $_POST['x'];
if(isset($temp) && !empty($temp))
{
echo "x value is ". $temp ."!"; // Success Message
}
}
?>

修改你的ajax.php代码

关于javascript - 为什么我在使用 AJAX/PHP 时收到未定义索引错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38211866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com