我用来向我的 PHP 发送一些信息的脚本有一个奇怪的问题。我说很奇怪,因为这段代码是同一个应用程序上一些已经在工作的代码的直接副本,带有新的变量名。我需要将少量数据上传到我的服务器,虽然值在那里并且代码一直运行,但没有发送 POST 数据或其他东西。我已经检查过了,它说它已经提交给我的 PHP,但没有任何反应。如果对我的某些格式有疑问,我正在使用 Vue.js
我曾尝试在网上查看其他示例,但我认为这是从我的应用程序的工作部分复制的代码块。它一直有效,直到从 JS 传输数据 - PHP
JS
editDisplayName: function() {
var self = this;
var newName = prompt("10 Characters Max, 3 Min", "Enter Display Name");
if(newName.length <= 10 && newName.length >= 3 ) {
var sendData = new XMLHttpRequest();
sendData.open("POST", "primary.php", true);
sendData.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
sendData.send(newName);
self.username = window.localStorage.getItem('username');
window.localStorage.clear();
}
}
PHP
function changeUsername() {
// Connect to Server
$link = // Commented Out For Security;
if (mysqli_connect_error()) {
die ("DB Connection Error");
}
$newName = $_POST['newName'];
$newName = mysqli_real_escape_string($link, $newName);
$token = $_COOKIE['validToken'];
$token = mysqli_real_escape_string($link, $token);
$query = "UPDATE userData SET username = '$newName' WHERE token = '$token' LIMIT 1";
mysqli_query($link, $query);
mysqli_close($link);
echo("
<script>
var username = $newName;
window.localStorage.setItem('username', username);
</script>
");
}
if(isset($_POST['newName'])) {
changeUsername();
}
我期待在我的 DOM 上设置新的用户名,但它是空白的。东西停止工作的地方是发送 POST 数据的地方,因为我的 PHP 没有收到任何东西,但我不知道出了什么问题。