Полезная информация

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№119-04-2005 08:21:27

alc
Участник
 
Группа: Extensions
Откуда: Чебоксары
Зарегистрирован: 02-03-2005
Сообщений: 296

Получение данных по http в javascript

Как в javascript получить в переменную содержимое файла лежащего на удаленном http сервере? Необходимо ли использование XPCOM?

P.S. Посоветуйте хороший справочник по javascript для Mozilla.


Бди!

Отсутствует

 

№219-04-2005 15:09:15

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Получение данных по http в javascript

Получить в переменную содержимое файла на удаленном сервере можно, только если:
1) скрипт вызывается с того же самого сервера, где и лежит этот файл;
2) скрипт расположен по адресу chrome://, т.е. это расширение.

Реализовать можно, например, так:

var url="http://site.ru";
var xrequest=new XMLHttpRequest();
xrequest.open("GET",url,false);
xrequest.send("");
var result=xrequest.responseText;

Отсутствует

 

№319-04-2005 16:57:24

alc
Участник
 
Группа: Extensions
Откуда: Чебоксары
Зарегистрирован: 02-03-2005
Сообщений: 296

Re: Получение данных по http в javascript

Да, расширение пытаюсь написать. Спасибо.


Бди!

Отсутствует

 

№422-04-2005 15:03:10

alc
Участник
 
Группа: Extensions
Откуда: Чебоксары
Зарегистрирован: 02-03-2005
Сообщений: 296

Re: Получение данных по http в javascript

Возникла проблема с XMLHttpRequest. Есть такой код:

Выделить код

Код:

var xrequest=new XMLHttpRequest();
  xrequest.open("GET",url,false);
  xrequest.setRequestHeader("Accept-Language", "ru, en");
  xrequest.setRequestHeader("Accept-Charset", "windows-1251"); 
  xrequest.send("");
  var result=xrequest.responseText;

В принципе работает, но сервер выдает неполные заголовки без "charset=windows-1251". И в результате responseText думает что кодировка utf8 и коверкает русские буквы. Повлиять на администрацию сервера нет возможности. Как быть?


Бди!

Отсутствует

 

№523-11-2005 18:31:06

alc
Участник
 
Группа: Extensions
Откуда: Чебоксары
Зарегистрирован: 02-03-2005
Сообщений: 296

Re: Получение данных по http в javascript

Проблема давно решена. В связи с багом в Gecko код должен выглядеть так

Выделить код

Код:

var request=new XMLHttpRequest();
    request.open("GET","http://url",true);
    request.overrideMimeType('text/XML;charset=windows-1251');
    request.onload = function()  {
                        if(request.readyState==4){
                          if(request.status==200) 
                             var result = request.responseText;                         
                       }
    }
    request.onerror = function() {...}
    request.send("");

Бди!

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]