Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.06.2011, 19:58
Аспирант
Отправить личное сообщение для prowoke Посмотреть профиль Найти все сообщения от prowoke
 
Регистрация: 09.12.2010
Сообщений: 56

Передача xml файла в js не через HTTP.
Здравствуйте. Вот пытаюсь научится работать с xml из javascript. Но не могу понять кое чего. Вот есть 1 способ получения xml в обьект:
getXML = function(url, callback) {
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
	if (request.readyState == 4 && request.status == 200)
		callback(request.responseXML);
	}
	request.open("GET",url);
	request.send(null);
};


Туда мы передаём url, можно и просто "filename.xml", впринципе тоже url. Но сам факт, в том, что передаём через http. А можно ли как нибудь передать файл с js скрипт не через http, а просто как файл? Ну т.е. альтернативный метод моему.
Ответить с цитированием
  #2 (permalink)  
Старый 24.06.2011, 20:14
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Нет, JS не умеет работать с файлами (не учитывая File API для новых браузеров)
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 24.06.2011, 23:07
Аспирант
Отправить личное сообщение для prowoke Посмотреть профиль Найти все сообщения от prowoke
 
Регистрация: 09.12.2010
Сообщений: 56

Следовательно из стандартных только через HTTP?
Ответить с цитированием
  #4 (permalink)  
Старый 24.06.2011, 23:13
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Насколько мне известно - да.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #5 (permalink)  
Старый 25.06.2011, 21:29
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Если файл лежит на HTTP-сервере, а браузер -- это HTTP клиент, то как же ещё передавать файл, кроме как по HTTP?
Ответить с цитированием
  #6 (permalink)  
Старый 29.06.2011, 06:52
Аспирант
Отправить личное сообщение для prowoke Посмотреть профиль Найти все сообщения от prowoke
 
Регистрация: 09.12.2010
Сообщений: 56

Сообщение от walik Посмотреть сообщение
Насколько мне известно - да.
Вот в книжке фленагана нашёл такой код. Он пишет, что это альтернативный способ загрузки XML документа. Вот код:
var XML = {};

XML.newDocument = function(rootTagName, namespaceURL) {
	if (!rootTagName) rootTagName = "";
	if (!namespaceURL) namespaceURL = "";
	if (document.implementation && document.implementation.createDocument) {
		return document.implementation.createDocument(namespaceURL, rootTagName, null)
	}
}
XML.load = function(url) {
	var xmldoc = XML.newDocument();
	xmldoc.async = false;
	xmldoc.load(url);
	return xmldoc;
};


У меня он не работает, говорит что метода load() нету. Что это за способ, расскажите немного пожалуйста. Гугл молчит. Про создание xml документа с помощью document.implementation.createDocument нашёл (как я понял это создаётся пустой XML документ внутри скрипта), а вот про использования метода load нету.
Ответить с цитированием
  #7 (permalink)  
Старый 29.06.2011, 12:28
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

Сообщение от prowoke Посмотреть сообщение
У меня он не работает, говорит что метода load() нету.
XML.load = function(url) {

а это что такое ?
Ответить с цитированием
  #8 (permalink)  
Старый 30.06.2011, 01:47
Аспирант
Отправить личное сообщение для prowoke Посмотреть профиль Найти все сообщения от prowoke
 
Регистрация: 09.12.2010
Сообщений: 56

Не понял вопроса. Ну это обьявление метода, вроде.
Ответить с цитированием
  #9 (permalink)  
Старый 30.06.2011, 02:19
Аватар для Graphis
Новичок на форуме
Отправить личное сообщение для Graphis Посмотреть профиль Найти все сообщения от Graphis
 
Регистрация: 15.06.2011
Сообщений: 8

Вот интересная новость, как раз по вашей теме
http://www.opennet.ru/opennews/art.shtml?num=31012
Способ заключается в использовании механизма WebSockets.
Ответить с цитированием
  #10 (permalink)  
Старый 30.06.2011, 02:36
Аспирант
Отправить личное сообщение для prowoke Посмотреть профиль Найти все сообщения от prowoke
 
Регистрация: 09.12.2010
Сообщений: 56

Классно, оказывается метод load() у вот этого обьекта или что это "document.implementation.createElement()" не работает в браузере Google Chrome. О как.

Последний раз редактировалось prowoke, 30.06.2011 в 02:50.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести содержимое PHP файла с помощью JS? pavdin Серверные языки и технологии 6 22.12.2010 14:16
Передача значений полей через JS MCTrane Общие вопросы Javascript 11 01.12.2010 18:32
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36
Как узнать какие ошибки произошли при парсинге xml файла faunder Events/DOM/Window 0 12.09.2008 14:17
XMLHTTPRequest передача имя через POST dds AJAX и COMET 0 14.08.2008 14:44