>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Проблема с AJAX при разработке тулбара для FF http://forum.mozilla-russia.org/viewtopic.php?id=17688 |
Souznik > 24-06-2007 12:21:30 |
Добрый всем день|ночь! Выделить код Код:<?xml version="1.0"?> <dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="myAuth" title="Auth" ondialogaccept="return onOK();" persist="screenX screenY width height" windowtype="myDialogWindowType" style="background: AppWorkspace;"> <grid> <columns><column/><column/></columns> <rows> <row align="center"><label value="Site URL:"/><textbox id="url"/></row> <row align="center"><label value="Login:"/><textbox id="name" value="admin" /></row> <row align="center"><label value="Pass:"/><textbox id="pass" type="password"/></row> </rows> </grid> <script type="application/x-javascript"> function onOK() { window.arguments[0].out = {url:document.getElementById("url").value, login:document.getElementById("name").value, pass:document.getElementById("pass").value}; return true; } </script> </dialog> Тут думаю все ясно. Кнопка "login" вызывет функцию login() в следующем коде: Выделить код Код:var http = new XMLHttpRequest(); function ajax(url,method,params) { http.open(method, url+params, true); http.onreadystatechange = useHttpResponse; http.send(null); } const GBLTut_ConsoleService = Components. classes['@mozilla.org/consoleservice;1']. getService(Components.interfaces.nsIConsoleService); function login() { var params = {inn:{url:"foo", name:"bar", pass:"111"}, out:null}; window.openDialog("chrome://artybar/content/sz_window.xul", "","chrome, dialog, modal", params).focus(); if (params.out) { login =params.out.login; url=params.out.url+"/admin.php"; pass=params.out.pass; pars="?Ulogin="+login+'&Upassw='+pass+'&Send='+"Submit"; ajax(url,"POST",pars); } } function useHttpResponse() { if (http.readyState == 4) { var textout = http.responseText; GBLTut_Log(textout); } } function GBLTut_Log(sz_Message) { GBLTut_ConsoleService.logStringMessage('Server vydal: ' + sz_Message); } *ответ сервера записывается в консоль ошибок Тестирую пока на следующем довольно простом коде: admin.php: Часть ответа: *тут суть файла Подскажите почему у меня в JS явно указано, что запрос POST, а сервер говорит что он GET?? Для работы нужен именно POST запрос! И еще одна строка из phpinfo(); Заранее спасибо! |
arka > 24-06-2007 12:56:36 |
http.open(method, url+params, true); в params у вас все данные по логину, вот они и передаются через $_GET |
Souznik > 24-06-2007 13:08:55 |
Спасибо! Вот к чему приводят JS фреймфорки! Совершенной забываешь как это по настоящему делается! |
Shutnik > 24-06-2007 15:01:42 |
насколько я знаю, чтобы данные ушли в post нужно обязательно (помимо указания post метода) добавить: Added Вск 24 Июн 2007 15:02:46 :
|
Souznik > 24-06-2007 21:45:11 |
Всем спасибо я уже разобрался!!! 1) Умирает средняя кнопка, работает тока скроллинг Подскажите плиз... |