Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Передача картинки javascript (https://javascript.ru/forum/misc/44778-peredacha-kartinki-javascript.html)

kostyanet 03.02.2014 12:38

Куда выводит?

У вас не было вывода текста в браузер в той функции вообще. Где вы смотрите свой пустой $_FILES?

Ну то есть как вы вообще увидели что-то, если любой ответ сервера пойдет в ява-скрипт, а там у вас никакого вывода кроме статуса.

vasya37 03.02.2014 12:47

Кому интересно код такой
function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}

var xhr = getXmlHttp()
   function insertim_img()
   {  
var file = document.getElementById("myFile").files[0]
var formData = new FormData();
formData.append("thefile", file);
xhr.open("post", "/insert_img.php", true);
xhr.send(formData);
}
на сервере принимаю $image=$_FILES['thefile']['name'];. Весь 'трабл' был в том, что я добавлял строку xhr.setRequestHeader("Content-Type", "multipart/form-data;");. Убрал строку и всё заработало.

vasya37 03.02.2014 12:53

Цитата:

Сообщение от kostyanet (Сообщение 295548)
Куда выводит?

У вас не было вывода текста в браузер в той функции вообще. Где вы смотрите свой пустой $_FILES?

Ну то есть как вы вообще увидели что-то, если любой ответ сервера пойдет в ява-скрипт, а там у вас никакого вывода кроме статуса.

я в пхп скрипте делал print_r($_FILES); и выводил document.getElementById('ass').innerHTML=xhr.respo nseText; тут уже смотрел, что получает файл пхп. В итоге просто нужно было убрать строку setRequestHeader("Content-Type", "multipart/form-data");. Спасибо за помощь, может кому понадобится решение данного вопроса. Протестил на Хроме и IE работает!

kostyanet 03.02.2014 13:03

Так вот, если бы вы сделали как я велел с самого начала, то увидели бы сообщение:

Missing boundary in multipart/form-data POST data....

kostyanet 03.02.2014 14:42

Ну да, у вас там поди и уровень ошибок в 0. Чтоб не беспокоило.

error_reporting(-1);


Часовой пояс GMT +3, время: 22:17.