Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.08.2019, 14:54
Новичок на форуме
Отправить личное сообщение для shiva Посмотреть профиль Найти все сообщения от shiva
 
Регистрация: 05.08.2019
Сообщений: 3

Возврат значения из Php файла при работе через ajax
Всем привет.

Есть форма, данные которой через ajax (без JQuery) отправляются в php-файл. В нем выполняются проверки на сущестовование каталога и возможность записи файла в каталог. Если все ок - тогда пишем файл.

Результат этих проверок нужно вернуть в js-файл, с которого происходит через ajax передача данных, - что бы вывести далее этот результат на странице. Возможно ли это сделать?

Ниже приведен код из JS-файла:

var http = new XMLHttpRequest(), f = this;
evt.preventDefault();
http.open("POST", "send.php", true);
http.onreadystatechange = function()
{
if (http.readyState == 4 && http.status == 200)
{

сюда нужно получить результат перемной из php-файла

}
}
};

send.php

if($_POST){
$file = 'data/'.$_POST['time-file'];//назначаем имя файла
$current = $_POST['levels'];//задаем содержимое файла

$err = '';

if (is_writable($file))
$err = 'Файл недоступен для записи';


if (!file_exists('data'))
$err = "Файл data не существует";


if($err === '')
file_put_contents($file, $current);//пишем в файл
};
Ответить с цитированием
  #2 (permalink)  
Старый 05.08.2019, 15:02
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Сообщение от shiva
Возможно ли это сделать?
Конечно можно.
Вернуть можно любой текст, или еще какие-то данные... Потом обработать их скриптом и сделать нужные действия.

Только нужно помнить, что ответ может быть асинхронным (как у тебя) и когда придет не известно... Может вообще не прийти.
Ответить с цитированием
  #3 (permalink)  
Старый 05.08.2019, 15:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Сообщение от shiva
сюда нужно получить результат перемной из php-файла
Для начала можно написать
alert(http.responseText);

Это если твой php-файл будет возвращать текст сообщения...
Ответить с цитированием
  #4 (permalink)  
Старый 05.08.2019, 16:31
Новичок на форуме
Отправить личное сообщение для shiva Посмотреть профиль Найти все сообщения от shiva
 
Регистрация: 05.08.2019
Сообщений: 3

Спасибо.

Как понимаю, уже работая со строкой http.responseText, выкинуть массив передаваемых через $_POST значений и то что после массива идет - с этим и работать?
Ответить с цитированием
  #5 (permalink)  
Старый 06.08.2019, 07:44
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

shiva, ты можешь с сервера вернуть любые данные, любой структуры... Главное потом их правильно обработать на клиенте.
Ответить с цитированием
  #6 (permalink)  
Старый 06.08.2019, 08:00
Новичок на форуме
Отправить личное сообщение для shiva Посмотреть профиль Найти все сообщения от shiva
 
Регистрация: 05.08.2019
Сообщений: 3

Спасибо. Все получилось.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возврат значения в ajax hoax AJAX и COMET 37 11.04.2015 07:14
Как в обработчик php через Ajax передать несколько значений? Urukhay Общие вопросы Javascript 2 30.08.2014 16:19
Несколько запросов к php через AJAX Florens AJAX и COMET 9 25.07.2014 21:21
Ошибка при подключении файла в обработчике ajax skillful AJAX и COMET 6 14.07.2013 16:21
возврат увеличенного значения AJAX mikeles AJAX и COMET 0 31.10.2009 08:48