За последние 24 часа нас посетили 17598 программистов и 1652 робота. Сейчас ищет 881 программист ...

Ajax+form+ie проблема с кодировкой в post запросе

Тема в разделе "JavaScript и AJAX", создана пользователем Stigler, 29 окт 2010.

  1. Stigler

    Stigler Активный пользователь

    С нами с:
    29 окт 2010
    Сообщения:
    2
    Симпатии:
    0
    Использую такой скрипт для динамической загрузки страниц
    Код (Text):
    1.  
    2. <script>
    3.  
    4. function loadContent(link) {
    5.  
    6. var cont = document.getElementById('contentDiv');
    7. var loading = document.getElementById('loading');
    8. cont.innerHTML = loading.innerHTML;
    9.  
    10. var http = createRequestObject();
    11. if( http )
    12. {
    13.     http.open('get', link);
    14.     http.onreadystatechange = function ()
    15.     {
    16.         if(http.readyState == 4)
    17.         {
    18.             cont.innerHTML = http.responseText;
    19.         }
    20.     }
    21.     http.send(null);    
    22. }
    23. else
    24. {
    25.     document.location = link;
    26. }
    27. }
    28.  
    29. // создание ajax объекта
    30. function createRequestObject()
    31. {
    32. try { return new XMLHttpRequest() }
    33. catch(e)
    34. {
    35.     try { return new ActiveXObject('Msxml2.XMLHTTP') }
    36.     catch(e)
    37.     {
    38.         try { return new ActiveXObject('Microsoft.XMLHTTP') }
    39.         catch(e) { return null; }
    40.     }
    41. }
    42. }
    43. </script>
    в php который загружает ajax кнопка с form
    Код (Text):
    1.  
    2. $name = iconv('UTF-8', 'cp1251', $row['param']);
    3. $cena = iconv('UTF-8', 'cp1251', $row['cena']);
    4.  
    5.  
    6.     <form method="POST"  class="application" accept-charset="utf-8"  action="https://сторонний сайт...">
    7.     <input type="hidden" name="key" value="DFgfgfd34fdFD" />
    8.     <input type="hidden" name="cost" value="';
    9. echo $cena;
    10.     echo '" />  <input type="hidden" name="name" value="';
    11. echo $name;
    12.     echo '" />  <input type="hidden" name="default_email" value="Введите e-mail, на него дополнительно будет выслан пароль."/>
    13.   <input type="hidden" name="order_id" value="0" />
    14.     <input type="image" style="border:0;" src="http://..." value="Оплатить" />
    15.     </form>
    Вот в opere, ff значени "Введите e-mail, на него дополнительно будет выслан пароль." передаётся правильно, в ie же всё крякозябрами. пробовал её перекодировать через iconv ничего и никак, а если и выходило то потом уже неработало везде кроме ie. Хэлп