2010-11-07 5 views
0

Я делаю очень простой запрос HTTPService ж/PHP файл, который находится на моем удаленном сервере:HTTPService ... не работает на локальном хосте

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx" 
      xmlns:halo="library://ns.adobe.com/flex/halo" 
      > 

<fx:Script> 
    <![CDATA[ 
     import mx.rpc.events.ResultEvent; 
     private function check(evt:ResultEvent):void 
     { 
      if(service.lastResult.output == "yes") 

      { 
       test.text = "successful"; 
      } 

     } 

    ]]> 
</fx:Script> 


<fx:Declarations> 

<mx:HTTPService id="service" result="check(event)" showBusyCursor="true" method="POST" url="http://www.example.com/php.php" useProxy="false"> 
</mx:HTTPService> 

</fx:Declarations> 


<mx:VBox width="100%" height="100%"> 

<mx:Button x="10" y="122" label="Submit" id="Submit" click="service.send();"/> 
<mx:TextArea id="test" width="50%" height="50%" /> 

</mx:VBox> 

</s:Application> 

Когда я запускаю результирующий файл прошивки на мой удаленный сервер, он работает на 100%, а test.text заполняется до «успешного».

Однако, когда я запускаю его на localhost test.text, все еще пусто. Если я проверю свой монитор сети в Flex, httpservice был успешным, поэтому crossdomain.xml, похоже, правильно настроен ... что я делаю неправильно? Я некоторое время крутил колеса, не зная подсказки. спасибо!

+1

ли отлаживать его на локальном хосте? Выполняет ли HTTPService функцию check()? В противном случае попробуйте добавить обработчик ошибок в свой HTTPService, чтобы увидеть причину ошибки. –

ответ

0

Это может быть запрещено файлом crossdomain.xml вашего сервера, или, возможно, у вас его нет.

Когда Flash-плеер ищет какой-либо удаленный материал из другого домена, чем сам SWF, он проверяет файл в корне домена под названием crossdomain.xml, чтобы убедиться, что сервер в порядке с этим.

Вы можете поставить что-то подобное в там, что просто позволяет все, пока вы не закончите с местным развитием ...

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM 
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> 

<cross-domain-policy> 
    <site-control permitted-cross-domain-policies="master-only"/> 
    <allow-access-from domain="*"/> 
    <allow-http-request-headers-from domain="*" headers="SOAPAction"/> 
</cross-domain-policy> 
Смежные вопросы