Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не могу изменить содержимое innerHTML в ie (https://javascript.ru/forum/events/4945-ne-mogu-izmenit-soderzhimoe-innerhtml-v-ie.html)

djon-killer 01.09.2009 13:13

Не могу изменить содержимое innerHTML в ie
 
код примерно такой:
document.getElementById("id_str").innerHTML=respTe xt;
если ставлю
document.getElementById("id_str").innerHTML="";
то все ок.
при этом в respText хранится результат выполнения ajax запроса.
ошибка unknown runtime error.
страница загружается доконца точно. в фф и опере все работает ок.
результат выполнения ajax запроса использую только после того, как он принят от сервера

Kolyaj 01.09.2009 13:19

Какую кодировку посылает сервер в HTTP-заголовке?

djon-killer 01.09.2009 14:15

Цитата:

Сообщение от Kolyaj (Сообщение 29057)
Какую кодировку посылает сервер в HTTP-заголовке?

если честно, не знаю, сайт работает в кирилце. а разве сервер не в юникоде отправляет?

Kolyaj 01.09.2009 14:24

Я пока не спрашиваю, в какой кодировке, я спрашиваю что написано в http-заголовке Content-Type.

Цитата:

Сообщение от djon-killer
а разве сервер не в юникоде отправляет?

В чем наберете текст, в том и будет отправлять. А юникод не кодировка.

djon-killer 01.09.2009 14:49

Цитата:

Сообщение от Kolyaj (Сообщение 29069)
Я пока не спрашиваю, в какой кодировке, я спрашиваю что написано в http-заголовке Content-Type.


В чем наберете текст, в том и будет отправлять. А юникод не кодировка.

хм, а как его получить?:help:

B~Vladi 01.09.2009 14:51

Цитата:

Сообщение от djon-killer
хм, а как его получить?

http://javascript.ru/tools/http-debug

djon-killer 01.09.2009 14:55

Цитата:

Сообщение от B~Vladi (Сообщение 29080)

спасибо. а в чем вообще может быть проблема?
(процесс получения заголовков затянется,т.к. работаю на удаленном компе, доступ в инет оттуда закрыт. а со своего компа перенести не могу. сайт доступен только оттуда)

B~Vladi 01.09.2009 14:58

Создайте тестовое окружение, как можно ближе соответствующее вашему случаю. Поднимите локальные сервер, сделайте страничку, использующую те же функции получения данных и поковыряйте кодировку. Скорей всего на этом этапе найдётся ваш баг.

djon-killer 01.09.2009 15:02

хм, вопрос, а что, осел по другому принимает заголовок и текст запроса?

Kolyaj 01.09.2009 15:05

Он не переваривает некорректные названия кодировок. Например utf8 вместо UTF-8.

B~Vladi 01.09.2009 15:06

Цитата:

Сообщение от djon-killer
по другому принимает заголовок

Смотря какой. Content-type - прекрасно, так же как и остальные браузеры. Проблема может быть в кодировках ваших файлов.
Цитата:

Сообщение от djon-killer
текст запроса

Может ответа, а не запроса?!

Вобщем эффект бывает разный.

djon-killer 01.09.2009 15:24

Цитата:

Сообщение от B~Vladi (Сообщение 29094)
Смотря какой. Content-type - прекрасно, так же как и остальные браузеры. Проблема может быть в кодировках ваших файлов.

Может ответа, а не запроса?!

Вобщем эффект бывает разный.

т.е. проблема в кадировке файлов на сервере? а что делать, если на юникод(utf-8) их не исправишь?

B~Vladi 01.09.2009 15:29

Цитата:

Сообщение от djon-killer
если на юникод(utf-8) их не исправишь?

технических проблем обычно не возникает:)
Только при этом необходимо чётко устанавливать заголовок Content-Type и незабыть про объявления в HTML и CSS, если они, конечно, есть:)

djon-killer 01.09.2009 15:30

Цитата:

Сообщение от B~Vladi (Сообщение 29108)
технических проблем обычно не возникает:)
Только при этом необходимо чётко устанавливать заголовок Content-Type и незабыть про объявления в HTML и CSS, если они, конечно, есть:)

объявления? не совсем понял о чем идет речь

B~Vladi 01.09.2009 15:33

В HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

В CSS:
@charset "utf-8";

В XML/XSL:
<?xml version="1.0" encoding="UTF-8"?>


И, соответственно, сами эти файлы должны быть сохранены в этой кодировке. Любой более-менее нормальный редактор позволяет это легко делать.

djon-killer 01.09.2009 15:35

по поводу утилит по отображению заголовка- поставили вот этот
http://www.blunck.se/iehttpheaders/download.html
нажимаю на выполнение функции. выдается в осле ошибка, но запрос выполнился. щелкаю на display ничего не происходит. подскажите, может, неправильно пользуюсь, т.к. мануал не читал в силу плохого знания иностранного, делаю все по логике

djon-killer 01.09.2009 15:36

Цитата:

Сообщение от B~Vladi (Сообщение 29114)
В HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

В CSS:
@charset "utf-8";

В XML/XSL:
<?xml version="1.0" encoding="UTF-8"?>


И, соответственно, сами эти файлы должны быть сохранены в этой кодировке. Любой более-менее нормальный редактор позволяет это легко делать.

все бы ничего, только сам сайт в кирилице работает. и изменить это не представляется возможным.

B~Vladi 01.09.2009 15:42

Он и в кириллице должен работать. Просто я к тому, что должно использоватся что-то одно.

djon-killer 01.09.2009 15:43

Цитата:

Сообщение от B~Vladi (Сообщение 29122)
Он и в кириллице должен работать. Просто я к тому, что должно использоватся что-то одно.

а. т.е. думаешь, что проблема в том, что ответ с сервера приходит в юникоде, а сайт в кирилице пашет?

B~Vladi 01.09.2009 15:44

возможно и такое. Смотреть нада, как я могу сказать?! Я не телепат.

djon-killer 01.09.2009 17:58

Цитата:

Сообщение от B~Vladi (Сообщение 29124)
возможно и такое. Смотреть нада, как я могу сказать?! Я не телепат.

дело в том, что я пытаюсь через alert вывести respText, он нормально отображается. т.е. кодировка таже

B~Vladi 01.09.2009 18:07

Цитата:

Сообщение от djon-killer
т.е. кодировка таже

Не факт. Дайте ваш код. Только не весь, а там, где могут быть проблемы.

djon-killer 01.09.2009 18:37

хм, там целый класс описан для работы с ajax. в общем, после принятия ответа сервера, убедившись в том, что статус равен 200, вызываем функцию, переданную в качестве параметра когда только делали запрос. так вот в этой функции я пытаюсь полученный ответ от сервера, содержащийся в respText вставить в тэг p, к слову, этот ответ тоже кусок html кода. так вот, код примерно такой:
document.getElementById("id_str").innerHTML=respTe xt;

B~Vladi 02.09.2009 10:26

Повторюсь - я не телепат. Если бы вы делали всё по-уму - проблем бы небыло. Первое, что приходит в голову - кодировка, которую ковырять вы не хотите. Я хз что ещё можно предложить.

e1f 02.09.2009 13:17

Покажите, какой именно у Вас responseText, и куда именно Вы вставляете его. Ввиду того, что есть вот это


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