отправить запрос в php скрипт - PullRequest
1 голос
/ 07 марта 2019

Я пытаюсь сделать пост-запрос к файлу 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;
?>
...