[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с асинхронной передачей данных через POST
Страницы: 1, 2
Kapitan79
Всем привет!

2 дня никак не могу найти истину, оч нужна помосчь.

Проблема следующая.

Имеется форма содержащая в числе прочего элемент

<select id="area" size="1" name="area" multiple onClick='sel("area")'>


Задача - выбрать в данном селекте несколько пунктов и отправить из на сервер методом POST.

Я решил попробовать сделать это через ajax.

01 function sel(idSel)
02 {
03 alert (idSel)
04 var obj = document.getElementById(idSel);
05 /*var arrIndexes = new Object;*/
06 var j=0;
07 for (var i=0; i < obj.options.length; i++)
08 {
09 if (obj.options[i].selected)
10 {
11 j++;
12 var request = getXmlHttpRequest();
13 request.onreadystatechange = function ()
14 {
15 if (request.readyState == 4)
16 {
17 if (request.status == 200)
18 {
19 var result = document.getElementById("area");
20 result.firstChild.nodeValue = request.responseText;
21 } else document.write("Произошла ошибка. Обнови страничку");
22 }
23 }
24 var url = "project/additem.inc";//изменим адрес серверного обработчика
25 data = '"'+idSel+j+'='+i+'"'
26 alert (data)
27 request.open("POST", url, true); // указываем метод post
28
29
//посылаем два заголовка: тип данных и размер данных
30 request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
31 request.setRequestHeader("Content-Length", data.length);
32 request.send(data);// посыл данных, вместо null вставляем переменную с параметрами
33 }
34 }
35 alert ('Отправлено ')
36 }
37
38
// функция создания объекта XMLHttpRequest для передачи массива выбранных пунктов меню в $_POST через ajax
39
40
function getXmlHttpRequest()
41 {
42 if (window.XMLHttpRequest)
43 {
44 try
45 {
46 return new XMLHttpRequest();
47 }
48 catch (e){}
49 }
50 else if (window.ActiveXObject)
51 {
52 try
53 {
54 return new ActiveXObject('Msxml2.XMLHTTP');
55 } catch (e){}
56 try
57 {
58 return new ActiveXObject('Microsoft.XMLHTTP');
59 }
60 catch (e){}
61 }
62 return null;
63 }
64 </script>


Проблема в том, что со стороны PHP скрипта переменная $_POST['area1'] пуста.
Есть ощущение что я что то недопонимаю в теории.
Firebug POST запрос видит.
Помогите разобраться.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.