Javascript.RU

 
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.05.2009, 15:37
Аватар для runa
Интересующийся
Отправить личное сообщение для runa Посмотреть профиль Найти все сообщения от runa
 
Регистрация: 27.05.2009
Сообщений: 11

URL с русскими буквами
в java скрипте формируется url для запроса методом get
обрабатывается в файле "файл.cgi"

url="файл.cgi"+"?fam="+str1+"&fio="+str2;
oXml.open('GET', url, true);

(используется Ajax)
возникает ошибка при выполнении Opera и Mozilla,
говорит, что не найден файл с именем файл.cgi
пробовала использовать escape(), encodeURI(), encodeURIComponent()
результат тот же.
возможно, что просто неправильно писала
Изменить имя файла нельзя.
Помогите, пожалуйста
  #2 (permalink)  
Старый 28.05.2009, 04:29
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

код странички в студию
  #3 (permalink)  
Старый 28.05.2009, 08:50
Аватар для runa
Интересующийся
Отправить личное сообщение для runa Посмотреть профиль Найти все сообщения от runa
 
Регистрация: 27.05.2009
Сообщений: 11

это код чисто java скрипта
function lfunction()
{
  if(typeof(XMLHttpRequest)!='undefined'){
  var getXMLHttpObj = function(){ return new XMLHttpRequest(); }
} 
  else {
  var getXMLHttpObj = function()
  {
    var activeXObjects = ['Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0',
    'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'];

    for(var i=0; i<activeXObjects.length; i++)
   {
      try
       {return new ActiveXObject(activeXObjects[i]);}
      catch(err){}
   }
  }
}
var oXml = getXMLHttpObj();
var str1=escape(document.all.fam.value);
var str2=escape(document.all.fio.value);
url="файл.cgi"+"?fam="+str1+"&fio="+str2;

oXml.open('GET', url, true);
oXml.onreadystatechange = processingFunction;
oXml.send(null);

function processingFunction()
	{
  if(oXml.readyState!=4) return; // запрос не выполнен 
  var xmlDoc = oXml.responseText.split("|");
  document.all.form.innerHTML = '<PRE><b><i>Полученные данные:</i><p>Фамилия:  </b>'+unescape(xmlDoc[0])+'</p>'+'<p><b>Должность:</b>'+unescape(xmlDoc[1])+'</p></PRE>';
	}
}

кусок страницы (по нажатию кнопки вызывается скриптик)
<form name="form1" method="get" action="файл.cgi">    
        <div align="left">
	  <p align="left"> Фамилия: <input name="fam" type="text" id="fam" size="20" length="25"</p>
	  <p align="left"> Должность: <input name="fio" type="text" id="fio" size="20" length="25"</p>
	  <p align="left">
            <input type="button" name="send" id="send" value="Отправить" onclick="lfunction()">
        </p>
 </form>


скипт файл.cgi
#!/usr/bin/perl -w
print "Content-Type: text/xml\n\n";
$q=$ENV{QUERY_STRING};
@q=split(/&/,$q);
foreach $a (@q)
{
 @vars=split(/=/,$a,2);
 $q{$vars[0]}=$vars[1];
}

print $q{"fam"};
print("|"); 
print $q{"fio"};

Последний раз редактировалось runa, 28.05.2009 в 09:12.
  #4 (permalink)  
Старый 28.05.2009, 09:14
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

а зачем русские буквы в имени файла?
  #5 (permalink)  
Старый 28.05.2009, 09:22
Аватар для runa
Интересующийся
Отправить личное сообщение для runa Посмотреть профиль Найти все сообщения от runa
 
Регистрация: 27.05.2009
Сообщений: 11

я понимаю, что так никто не делает.
Просто суть в том чтобы научиться работать с кодировками.
И в данном случае имя обязательно должно быть русским.
  #6 (permalink)  
Старый 28.05.2009, 09:33
Аватар для runa
Интересующийся
Отправить личное сообщение для runa Посмотреть профиль Найти все сообщения от runa
 
Регистрация: 27.05.2009
Сообщений: 11

escape() работает с русскими значениями в полях ввода
но для url не получатся
возможно надо сделать обратное преобразование в файл.cgi?
меня смущает, что ошибка состоит в том, что сам
файл.cgi was not found on this server, хотя он рядышком лежит
  #7 (permalink)  
Старый 28.05.2009, 09:38
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

а вы уверены, что сам файл выполняется?
у меня просто сейчас на загрузке статичной страницы ваш код более чем отлично отработал
ссылка на страницу получилась такого рода:
Код:
http://javascript/%D1%84%D0%B0%D0%B9%D0%BB.htm?fam=qwe&fio=qwe
при попытке доступа к рускоязычному скрипту(я вставил PHP-скрипт) у меня поплыл интепретатор почему-то, и начал выдавать неведомое
поставьте firebug под Mozilla , и проверьте что он выдаст
  #8 (permalink)  
Старый 28.05.2009, 09:51
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от runa
Просто суть в том чтобы научиться работать с кодировками.
Но при чем здесь кириллические названия файлов?
  #9 (permalink)  
Старый 28.05.2009, 10:19
Аватар для runa
Интересующийся
Отправить личное сообщение для runa Посмотреть профиль Найти все сообщения от runa
 
Регистрация: 27.05.2009
Сообщений: 11

спасибо, я попробую firebug
я уверена, что скрипт выполняется.
если имя скрипта поменять на нормальное, то все отлично работает
  #10 (permalink)  
Старый 28.05.2009, 13:07
Аватар для runa
Интересующийся
Отправить личное сообщение для runa Посмотреть профиль Найти все сообщения от runa
 
Регистрация: 27.05.2009
Сообщений: 11

The requested URL /web_server/5/лаба.cgi was not found on this server.

Firebug показывает вменяемый URL:
"%D0%BB%D0%B0%D0%B1%D0%B0.cgi?fam=dfs&fio=gds"

совсем не понимаю в чем дело

добавила в скрипт файл.cgi код для обратного перевода в русские буквы-не работает

Последний раз редактировалось runa, 28.05.2009 в 13:12.
 


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение URL artwalek Events/DOM/Window 8 19.02.2009 18:11
URL Location? HeadD Общие вопросы Javascript 5 17.02.2009 20:30
Открыть URL и выполнить скрипт Asdvin Events/DOM/Window 5 28.12.2008 19:53
Помогите динамически интегрировать значение в URL Yurii Общие вопросы Javascript 14 07.05.2008 15:12
Получение URL и Title Phoenix Общие вопросы Javascript 7 10.03.2008 23:37