Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.08.2014, 12:02
Аспирант
Отправить личное сообщение для Sergei-b84 Посмотреть профиль Найти все сообщения от Sergei-b84
 
Регистрация: 26.06.2014
Сообщений: 69

Библиотека JsHttpRequest: AJAX и закачка файлов
Доброе утро всем! Сразу опишу свою проблему. Использую библиотеку для загрузки файлов на сервер без перезагрузки страницы. Проблема в том, что я не знаю как с ее помощью вывести результат загрузки без перезагрузки страницы. Чтобы по нужному id юзера выбрались данные из базы и отобразились на странице, а при загрузке нового файла, появлялся loader.jpeg и затем снова выводился уже обновленный результат. Изначально приведу пример, как автоматически получить любые строковые данные при помощи библиотеки JsHttpRequest. Сразу оговорюсь я привожу пример серверного кода, на основе которого я написал свой upl_backend.php, который загружает данные в базу данных, отправляет файл на сервер, далает выборкуданных из базы, но вот не знаю как передать выбранный массив данных клиентской части ассинхронно. Кто не знаком с данной библиотекой может посмотреть наглядный пример ее работы здесь http://www.dklab.ru/lib/JsHttpReques...5_frontend.htm

Файл uplFrontend.htm
<script src=MJsHttpRequest/JsHttpRequest. js"x/script> 
<script language="JavaScript"> 
function calculateMd5(element) { 
// Сразу же обращаемся к методу query() библиотеки. 
JsHttpRequest.query( 
// Адрес серверного сценария. 
1upl_backend.php', 
// Так передаются параметры серверу 
{ 
'file': element 
Ь 
// Функция вызывается, когда сервер подготовил данные, 
function(result, errors) { 
// Записать результаты в элементы <div>. 
document.getElementByld("debug").innerHTML = errors; 
document.getElementByld("result").innerHTML = 
'MD5C + result, name +')='+ result. md5; 
} 
); 
} 
</script> 

<!— Мы обязательно должны использовать атрибут multipart/form-data! —> 
<form method="post" enctype="multipart/form-data"> 
Просто выберите файл. Тут же будет подсчитан его MD5.<br> 
<input type="file" name="upl" onchange="calculateMd5(this)"> 
</form> 
<div id="result" style="border:lpx solid #000; padding:2px"> 
Result 
</div> 
<div id="debug" style="border:lpx dashed red; padding:2px"> 
Debug info 
</div>



серверная часть (файл upl_backend.php )

// Загрузить библиотеку JsHttpRequest. 
require_once "JsHttpRequest/JsHttpRequest.php"; 
// Инициализация. Обязательно указывайте кодировку сценария! 
$JsHttpRequest =& new JsHttpRequest("windows-1251"); 
// Сохранить результат. 
$fileName = $_FILES['file']['name'] ; 
$tmpName = $_FILES [' file' ] [' tmp_name' ] ; 
$_RESULT = array( 
"name" => $fileName, 
"md5" => md5 (@file_get_contents ($tmpName) ), 
);


Теперь лично к моему серверному коду, который делает все выше перечисленное . Целиком приводить не буду потому что он большой и можно запутаться в нем. Приведу ту часть которая выбирает данные из базы и формирует их в массив.

public function load($path = "/pages/create/file-upload") {
        $array = array();
        $sql = "select `id`, `directory`, `name` from `files` where `user_id` = '" . $this -> key . "' order by `time` asc;";
        $query = mysql_query($sql, $this -> db);
        while ($data = mysql_fetch_array($query)) {
            $array[] = array("id" => $data["id"], "thumb" =>$path . "/" . UPLOADS_DIR .  "/" . $data["directory"] . "/" . $data["name"]);
        }
        $this -> json($array);
    }


Все данные выбраны, теперь нужно передать их нашей клиентской части. Как это сделать? А то я AJAX только начал изучать.
Если кто-то готов выполнить работу за оплату, то прошу модераторов перенести тему в нужный раздел. Всем спасибо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ajax и отправка файлов с формы miker059 jQuery 5 10.01.2018 03:12
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05
AJAX + PHP загрузка файлов с сервера Stanisov AJAX и COMET 10 16.08.2013 11:18
Загрузка БОЛЬШИХ файлов посредством ajax barcelona jQuery 7 12.10.2012 03:37
Зуммирование и панорамирование Svg файлов с помощью Ajax Lianik AJAX и COMET 0 16.04.2011 15:07