|
|
|
| Для отправки запроса написал функцию:
function send_request(meth,targ,fun,param)
{
if (request)
{
try
{
if (meth == "GET")
{
request.open(meth,targ + "?" + param,true);
request.onreadystatechange = fun;
// request.open("POST","php_/test.php",false);
request.send();
}
else
{
request.open(meth,targ,true);
request.onreadystatechange = fun;
// request.open("POST","php_/test.php",false);
request.send("fid=2");
}
}
catch(e)
{
alert("Невозможно соединиться с сервером:\n" + e.toString());
}
}
}
1) fun - имя функции, которая будет отрабатывать после отправки запроса, но если написать:
request.onreadystatechange = fun;
то функия не отработает, что сделать чтобы она отрабатывала?
2) GET работает нормально, а POST не хочет, пишет ошибку выполнения скрипта, в чем может быть дело?
Спасибо. | |
|
|
|
|
|
|
|
для: MRE
(10.06.2007 в 15:50)
| | Видимо нужно передавать не имя функции, а указатель на функцию, но как это сделать?? | |
|
|
|
|
|
|
|
для: MRE
(10.06.2007 в 15:52)
| | С 1-м разобрался, нужно было передавать в функцию имя без кавычек.
Остается открытым вопрос с POST. | |
|
|
|
|
|
|
|
для: MRE
(10.06.2007 в 15:56)
| | если пост то надо
данные перевести в строку ключ1=значение&ключ2=значение2&ключ3=значение3....
если там кодировка винда то кодировать ее через encodeURIComponent()
и отправить эту строку через obj.send()
перед этим еще отправить заголовок
obj.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded; charset=windows-1251');
|
| |
|
|
|
|
|
|
|
для: bronenos
(10.06.2007 в 16:58)
| | Че то не получилось.
function send_request(meth,targ,fun,param)
{
if (request)
{
try
{
if (meth == "GET")
{
request.open(meth,targ + "?" + param,true);
request.onreadystatechange = fun;
request.send();
}
else
{
request.open(meth,targ,true);
request.onreadystatechange = fun;
request.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=windows-1251');
param = encodeURIComponent(param);
request.send(param);
}
}
catch(e)
{
alert("Невозможно соединиться с сервером:\n" + e.toString());
}
}
} | |
|
|
|
|
|
|
|
для: MRE
(10.06.2007 в 18:17)
| | Получилось!
param = encodeURIComponent(param); было лишним
Спасибо! | |
|
|
|
|
|
|
|
для: MRE
(10.06.2007 в 18:36)
| | оно было не лишним
просто вы не так его использовали
но раз работает то ладно... | |
|
|
|
|
|
|
|
для: bronenos
(10.06.2007 в 20:11)
| | encodeURIComponent нужно для кроссброузерности. И для работы с XML-документом на сервере. | |
|
|
|