Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.10.2009, 17:55
Интересующийся
Отправить личное сообщение для .andreev Посмотреть профиль Найти все сообщения от .andreev
 
Регистрация: 21.10.2009
Сообщений: 16

Загрузка файла AJAX'ом - почему-то переводит на страницу загрузки файла
Все, вроде, просто
1. Форма
<form method="post" enctype="multipart/form-data" onsubmit="sendRequest(); returh false" action="uploadfile.php">

2. Javasscript, который посылает асинхронный запрос
<script type="text/javascript">
var xmlHttp = new XMLHttpRequest();

function sendRequest(){
var oForm = document.form[0];

var aParams = new Array();

var sParam = encodeURIComponent(oForm.elements[0].name);
sParam += "=";
sParam =+ encodeURIComponent(oForm.elements[0].value);
aParams.push(sParam);

var sParam = encodeURIComponent(oForm.elements[0].name);
sParam += "=";
sParam =+ encodeURIComponent(oForm.elements[0].value);
aParams.push(sParam);

sBody = aParams.join("&");

xmlHttp.open("post", oForm.action, true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.onreadystatechange = serverRespone;
xmlHttp.send(sBody);
}

function serverRespone() { 
if(xmlHttp.readyState == 4){
    if(xmlHttp.status == 200){ alert(xmlHttp.responseText);}
    else{ alert("err!");}
}
}
</script>

3. PHP скрипт, коорый его обрабатывает.
<?
header("Content-Type: text/plain");
if (isset($_POST['iblock']) ) {
$iblock = $_POST['iblock'];
     foreach ( $_FILES as $k => $v ) {
         if ( move_uploaded_file($v['tmp_name'], './'.$iblock.'.xls') ) {
echo ("Файл загружен!");

         }
     }
}?>


Файл грузится. Одна вместо alert на исходной странице, я читаю "Файл загружен!" на uploadfile.php

Где я накосячил?
Ответить с цитированием
  #2 (permalink)  
Старый 21.10.2009, 18:03
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от .andreev
Файл грузится.
Это вы с чего взяли? Не может этот код файл грузить.
Ответить с цитированием
  #3 (permalink)  
Старый 21.10.2009, 18:04
Интересующийся
Отправить личное сообщение для .andreev Посмотреть профиль Найти все сообщения от .andreev
 
Регистрация: 21.10.2009
Сообщений: 16

Файловым менеджером посморел
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2009, 18:13
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

И каким образом у вас содержимое файла берется?
Ответить с цитированием
  #5 (permalink)  
Старый 21.10.2009, 18:19
Интересующийся
Отправить личное сообщение для .andreev Посмотреть профиль Найти все сообщения от .andreev
 
Регистрация: 21.10.2009
Сообщений: 16

А содержимое-то здесь при чем? Файл грузится в папку, при этом не бьется, скачивается и открывается.
Ответить с цитированием
  #6 (permalink)  
Старый 21.10.2009, 18:41
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от .andreev
sendRequest(); returh false
У вас опечатка в слове return. В результате форма отправляется стандартным методом. А файлы с помощью XMLHttpRequest отправлять нельзя.
Ответить с цитированием
  #7 (permalink)  
Старый 21.10.2009, 18:50
Интересующийся
Отправить личное сообщение для .andreev Посмотреть профиль Найти все сообщения от .andreev
 
Регистрация: 21.10.2009
Сообщений: 16

Сообщение от Kolyaj Посмотреть сообщение
У вас опечатка в слове return.
Спасибо. Но файл все равно отправляется и результат работы тот же.

Цитата:
А файлы с помощью XMLHttpRequest отправлять нельзя.
http://dklab.ru/lib/JsHttpRequest/manual.html#cont4
Ответить с цитированием
  #8 (permalink)  
Старый 21.10.2009, 18:54
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от .andreev
http://dklab.ru/lib/JsHttpRequest/manual.html#cont4
А где вы там XMLHttpRequest увидели?
Ответить с цитированием
  #9 (permalink)  
Старый 21.10.2009, 19:00
Интересующийся
Отправить личное сообщение для .andreev Посмотреть профиль Найти все сообщения от .andreev
 
Регистрация: 21.10.2009
Сообщений: 16

Ок. Но файл-то грузится.
Ответить с цитированием
  #10 (permalink)  
Старый 21.10.2009, 19:03
Интересующийся
Отправить личное сообщение для .andreev Посмотреть профиль Найти все сообщения от .andreev
 
Регистрация: 21.10.2009
Сообщений: 16

А это?
http://xmlhttprequest.ru/#encoding Запросы multipart/form-data
Ответить с цитированием
Ответ



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

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