jun_dev
@jun_dev
Frontend-developer

Как получить данные передаваемые post запросом VUE(axios)+PHP?

Пытаюсь создать файл с каким-либо содержимым.
Файл создаётся, но пока не могу разобраться как присвоить имя файлу.
Передаю данные из поля input и отправляю post запросом к php файлу, который создаёт сам файл.

В консоле видно, что есть явный косяк.
60968e9c66ea8957655965.png
Подскажите, как корректно передать и получить данные!

<input type='text' placeholder='File name' v-model='newFileName'>
  <button @click='createFile'>Create file</button>

const Vue   = require("./vue")
const axios = require("axios")

new Vue({
    el: '#app',
    data: {
        newFileName: '',
    },
    methods: {
        createFile() {
            axios
            .post("./api/createFile.php",  {"name": this.newFileName})
            .then((response) => {
                console.dir(response);
            });
        }
    }
})

$name = $_POST['name'];
$text = "Содержимое файла";
$fp = fopen( "../../" . $name . ".txt", "w" );
fwrite( $fp, $text );
fclose( $fp );
  • Вопрос задан
  • 368 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Раз передаёте как application/json, значит стандартный массив $_POST не будет заполняться. Надо принимать данные самостоятельно.
$json = file_get_contents('php://input');
$data = json_decode($json, true);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы