Я пробовал это в течение нескольких часов, гуглял вокруг и пробовал несколько подходов. Код так прост, я не понимаю, почему он не работает. Я использую бесплатный хостинг 000webhost atm только для того, чтобы проверить это.
Я буквально хочу передать переменную в файл php для ее сохранения в текстовом файле, в данном случае «ayy». Последний код (файл даже не создается):
JS Код
function doSave(){
xhr.open("POST", "save.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xhr.send("ayy");
}
PHP код (сохранить. php)
<?php
file_put_contents('data.txt', file_get_contents('php://input'));
?>
У меня также был этот код ниже, но он только создавал пустой файл и не добавлял к нему никакого текста:
index.htm
function doSave(){
var datastr = "ayy";
var xmlhttp = new XMLHttpRequest();
xmlhttp.setRequestHeader('Content-Type', 'application/json');
xmlhttp.open("GET", "save.php", true);
xmlhttp.send(datastr);
}
save. php
<?php
$post_data = $_POST['datastr'];
$f = fopen("data.txt", "w+");
fwrite($f, $post_data);
fclose($f);
?>
Есть предложения, почему это может не сработать? Все, о чем я могу думать, это о том, что сервер не поддерживает его или что-то в этом роде, однако я могу заставить его работать нормально, если я укажу переменную в файле php и с помощью запроса GET просто отправлю переменную. Однако данные будут динамическими c, поэтому мне нужно передать их со стороны клиента, используя js.
Спасибо.