Ошибка разбора при попытке установить разрыв во Flex 3 - PullRequest
1 голос
/ 02 марта 2009

Я безуспешно пытался установить разрыв HTTP в моем проекте Flex 3. Очевидно, я совершенно не разбираюсь в программировании, и у меня не так много ссылок. Когда я пытаюсь экспортировать проект, я получаю ошибки разбора для обработчика результата и строки ошибки var. Я прилагаю фрагмент кода, где я размещал перерыв.

<mx:HTTPService id="getData" url="http://www.myurl.com"


useProxy="false" method="GET" resultFormat="text" resultType="text" 
         result="resultHandler(event)" fault="faultHandler(event)">

private function resultHandler(e:ResultEvent):void {
        trace(e.result); 
}


private function resultHandler(e:FaultEvent):void {
        var faultstring:String = event.fault.faultString; 
        Alert.show(faultstring); 
}


<mx:request xmlns="">
  <getTutorials>"true"</getTutorials>


</mx:request>

Я думаю, это может быть связано с файлом PHP и типом данных, которые ищет Flex? Вот первая ошибка, которую я получаю в браузере.

Ошибка типа: ошибка # 1034: Ошибка приведения типа: невозможно преобразовать "[{" id ":" 2 "," name ":" Советы по свадебному платью без бретелек "," author ":" Ramona Waters "," rating ": "0"}, {"id": "3", "name": "Координация работы горничных невест", "author": "Ericka Brown", "rating": "0"}] "to mx.controls.Alert , в DressBuilder2 / resultHandler () в DressBuilder2 / __ getData_result () на flash.events::EventDispatcher/dispatchEventFunction () на flash.events::EventDispatcher/dispatchEvent()

1 Ответ

1 голос
/ 02 марта 2009

Обновление: Круто, ваш код скомпилирован! Попробуйте со следующим:

  • Установите resultFormat=array, если у вас есть array объектов. Получить это значение в массиве и зациклить, чтобы увидеть, если вы можете видеть элементы. Если это не сработает, попробуйте следующий совет.
  • Удалите resultFormat из тега HTTPService (то же самое, как если бы вы установили его на object). См это .

Функции в AS обычно находятся внутри тега <mx:Script>. Это первое, что нужно исправить. Вам также нужно будет импортировать определения классов, которые вы используете. Посмотрите здесь:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
                layout="absolute" width="535" height="345"
                creationComplete="getData.send()">
<mx:Script>
  <![CDATA[
 import mx.rpc.events.FaultEvent;
 import mx.rpc.events.ResultEvent;
 import mx.controls.Alert;
     import mx.rpc.http.HTTPService;

 private function resultHandler(e:ResultEvent):void {
    Alert(e.result.toString());
 }
 private function faultHandler(e:FaultEvent):void {
    Alert(e.fault.toString());
 }
  ]]>
 </mx:Script>
<mx:HTTPService id="getData" resultFormat="text" 
                fault="faultHandler(event)" result="resultHandler(event)"   
                url="http://www.myurl.com"/>
</mx:Application>

Попробуйте использовать этот файл MXML и сообщите нам, как далеко вы продвинулись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...