Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   URLLoader. проблема с url сервра (или нет??). (http://www.flasher.ru/forum/showthread.php?t=106822)

ramanchik 19.01.2008 17:00

URLLoader. проблема с url сервра (или нет??).
 
здравствуйте. пытаюсь обмениваться данными с сервером, но не очень получается. точнее совсем не получается.

сервер на Java (сервлет). Принимает данные через POST и возвращает какой-нибудь ответ. До этого проверял на as2 -всё работало, и работает до сих пор. Пытаюсь сделать на AS3 - не выходит. вот код AS3 (за основу был взят какой-то пример):

Код:

import mx.core.Application;
import mx.modules.ModuleLoader;
var resultVars:URLLoader = new URLLoader();
                       
var dataToSave:XML = <gamescore>
                        <username>user</username>
                        <score>234234</score>
                </gamescore>;
               
                       
public function snd(){
        var url:String = "http://localhost/XXX/yyy";
        var request:URLRequest = new URLRequest(url);                               
        request.data = dataToSave;       
        request.contentType = "text/xml";       
        request.method = URLRequestMethod.POST;       

        var loader:URLLoader = new URLLoader();
        loader.addEventListener( Event.COMPLETE, handleResponse );
        loader.load(request);       
}
                       
private function handleResponse( event:Event ):void {
        try {
                var success:String = new String( event.target.data );
                this.message.text = success;   
        } catch ( e:TypeError ) {
                this.message.text = "Could not parse XML response from server.";
        }
}

snd() вызывается нажатием на кнопку. но вместо отправки запроса на сервер (до сервера даже не доходит - логи чистые), выкидывает окошко с ошибкой.

Код:

Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: http://localhost/XXX/yyy
        at btnandfld/snd()
        at btnandfld/___Button1_click()


если сделать url="http://localhost/XXX", то ошибки не возникает - загружается текст странички index.htm, которая лежит по этому адресу. но это понятное дело, не годится :)

где-то наткнулся на упоминание о запрете на загрузку из других доменов, но что-то не разобрался что к чему...

в чём может быть проблема??

etc 19.01.2008 18:43

Проблема в сервере.

ramanchik 19.01.2008 19:37

хм... с чего бы ей там быть?? да, и собственно, если "проблема в сервере", то в чём именно проблема выражается??

вот этот код-заглушка, сейчас работает - только, что специально проверил. сервер отвечает, логи на сервере тоже пишутся.

Код:

var sendVars:LoadVars = new LoadVars();
var resultVars:LoadVars = new LoadVars();

sendButton.onPress = function(){
        sendVars.data = sourceArea.text;       
        sendVars.sendAndLoad(directionField.text, resultVars, "POST");
}
       
resultVars.onLoad = function(ok){
        if (ok) {
                  receiverArea.text = resultVars.data;
          } else {
                  receiverArea.text = "ОШИБКА";
        }
}

повторюсь: до сервера запрос даже не доходит. т.к. первое, что делает сервер при запуске - это пишет "старт" в лог. а в логах ничего нет.

etc 19.01.2008 20:12

Значит проблемы с security. Настройка локального доступа описана в FAQ.

2morrowMan 20.01.2008 03:58

Попробуй так:
Код:

...
request.data = dataToSave.toXMLString();
...


ramanchik 20.01.2008 13:01

переписал с нуля код, после чего сервер начал на него как-то реагировать. хотя и в нём ещё оказалась небольшая проблема с обработкой POST.
в общем, спасибо всем за внимание и помощь - разобрался. :)


Часовой пояс GMT +4, время: 15:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.