Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ajax и post
 
 автор: shkryab   (23.04.2007 в 00:00)   письмо автору
 
 

Никак не понять куда в аяксе надо впихнуть данные из формы чтобы они отправились файлу некий.пхп пост методом. Помогите пожалуйста...

   
 
 автор: coloboc66   (23.04.2007 в 09:26)   письмо автору
 
   для: shkryab   (23.04.2007 в 00:00)
 


var params='здесь данные из формы в формате имя=значение';
my_ajax('post.php',params);

   
 
 автор: bronenos   (23.04.2007 в 09:54)   письмо автору
 
   для: coloboc66   (23.04.2007 в 09:26)
 

вы тогда ему этот класс дайте =)

   
 
 автор: coloboc66   (23.04.2007 в 10:02)   письмо автору
 
   для: bronenos   (23.04.2007 в 09:54)
 

А заодно написать и скрипт чата, магазина и т.п., да?

   
 
 автор: shkryab   (23.04.2007 в 10:12)   письмо автору
 
   для: coloboc66   (23.04.2007 в 10:02)
 

Вот скрипт аякса:

var req;
        function loadXMLDoc(url)
        {
            if (window.XMLHttpRequest)
            {
                    req = new XMLHttpRequest();
                    req.onreadystatechange = processReqChange;
                    req.open("POST", url, true);
                    req.send(null);
            }
            else if (window.ActiveXObject)
                 {
                    req = new ActiveXObject("Microsoft.XMLHTTP");
                    if (req)
                    {
                        req.onreadystatechange = processReqChange;
                        req.open("POST", url, true);
                        req.send();
                    }
                }
        }
        function processReqChange()
        {
            if (req.readyState == 4)
            {
                if (req.status == 200)
                {
                    document.getElementById('rez').innerHTML=req.responseText;
                }
                else
                {
                    alert("Не удалось получить данные:\n" + req.statusText);
                }
            }
        }

В каком месте что надо писать?

   
 
 автор: coloboc66   (23.04.2007 в 10:27)   письмо автору
 
   для: shkryab   (23.04.2007 в 10:12)
 


get_params(form);
function get_params(form)
{
var params='здесь данные из формы в формате имя=значение';
loadXMLDoc('post.php',params); 
}
function loadXMLDoc(url,params) 
{
...
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=windows-1251");
req.send(params);
...
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=windows-1251");
req.send(params);
...
}

   
 
 автор: shkryab   (24.04.2007 в 03:04)   письмо автору
 
   для: coloboc66   (23.04.2007 в 10:27)
 

Спасибо! Только вот проблемка возникла. На сервере ироглифы вместо руских букв! Кодировка везде windows-1251. В чём причина и как исправить?

   
 
 автор: bronenos   (23.04.2007 в 16:23)   письмо автору
 
   для: coloboc66   (23.04.2007 в 10:02)
 

зачем давать свои функции без своего класса? просто написать че нибудь?

   
 
 автор: coloboc66   (23.04.2007 в 17:27)   письмо автору
 
   для: bronenos   (23.04.2007 в 16:23)
 

Читайте тему. Какого еще класса? Он привел свой код для аякса, а я написал, чем этот код дополнить и как изменить Что еще непонятно?

   
 
 автор: bronenos   (23.04.2007 в 17:56)   письмо автору
 
   для: coloboc66   (23.04.2007 в 17:27)
 

я про 2 сообщение

   
 
 автор: coloboc66   (24.04.2007 в 10:08)   письмо автору
 
   для: bronenos   (23.04.2007 в 17:56)
 

Данные формы перед отправкой на сервер нужно кодировать методом encodeURIComponent() Что-то типа

my_ajax('post.php',encodeURIComponent(params)); 

   
 
 автор: shkryab   (25.04.2007 в 17:16)   письмо автору
 
   для: coloboc66   (24.04.2007 в 10:08)
 

А на сервере их надо как-то раскодировать? А то всёравно такаяже фигня....

   
 
 автор: coloboc66   (26.04.2007 в 09:06)   письмо автору
 
   для: shkryab   (25.04.2007 в 17:16)
 

На сервере надо в заголовке ставить UTF-8 А потом по обстоятельствам использовать iconv() или в обработке аяксом ответа сервера использовать decodeURIComponent(req.responseText)

   
 
 автор: shkryab   (27.04.2007 в 00:54)   письмо автору
 
   для: coloboc66   (26.04.2007 в 09:06)
 

Спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования