Я пытаюсь сделать пост-запрос к файлу php после того, как пользователь отключился от сервера узла.
Сервер узла сертифицирован по SSL, а также где размещен скрипт php.
function updateRank(user, rank) {
var form = {
user: user,
rank: rank
};
var formData = querystring.stringify(form);
var contentLength = formData.length;
request({
headers: {
'Content-Length': contentLength,
'Content-Type': 'application/x-www-form-urlencoded',
'accept': '*/*',
'user-agent':'*'
},
uri: 'https://wtf.com/pechp/updateUser.php',
body: formData,
method: 'POST'
}, function (err, res, body) {
//it works!
});
}
Я продолжаю получать ошибку 500, когда делаю запрос. Проблема не в коде. Это как-то связано с заголовками. Я не уверен, что, хотя.
Это ответ, который я получаю при локальном запуске:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
localhost/:1 Failed to load https://wtf.com/pechp/updateUser.php: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access. The response had HTTP status code 500.
Вот мой php файл:
<?php
ini_set('display_errors', 'On');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: X-Requested-With');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
// Create connection
$connection = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
if ($connection) {
$username = mysqli_real_escape_string($connection, $_POST['user']);
$newRank = mysqli_real_escape_string($connection, $_POST['rank']);
$result = mysqli_query($connection, "UPDATE wtf SET rank = '$newRank' WHERE username = '$username'");
if
($result) {
echo "success"
} else {
echo "fail";
}
} else {
echo "connection failed";
}
exit;
?>