2009-02-26 16 views
0

私はFlex Builder 3でプロジェクトを作成しましたが、私が割り当てたHTTPに接続しているとは思われません。これはブログアプリケーションで、PHPページを使用してデータベースに接続します。 HTMLページでアプリケーションを表示すると、テキストフィールドは編集できません。入力することはできません。これは、私が間違ってHTTPを割り当てたと思うようになります。これが問題だろうか?これをどうやって解決するのですか?FlexをHTTPに接続する方法

+0

つまり、ローカルでは動作しますが、サーバーでは動作しません。 –

+0

アプリケーションをウェブページにどのように接続していますか?おそらく、いくつかのコードを投稿できますか? –

答えて

-1

以下は、私が使用しているmxmlコードの一部です。私はデータベースに接続できないというエラーは出ませんので、PHPに何か問題はないとは思いません。

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="535" height="345"> 
<mx:Script> 
<![CDATA[ 
import mx.events.DataGridEvent; 
import mx.controls.TextInput; 
import mx.rpc.events.ResultEvent; 
import mx.collections.ArrayCollection; 
import com.adobe.serialization.json.JSON; 

[Bindable] 
private var dataArray:ArrayCollection; 

private function initDataGrid():void 
{ 
    dataArray = new ArrayCollection(); 
    getData.send(); 
} 

private function getPHPData(event:ResultEvent):void 
{ 
    var rawArray:Array; 
    var rawData:String = String(event.result); 
    rawArray = JSON.decode(rawData) as Array; 
    dataArray = new ArrayCollection(rawArray); 
} 

private function sendPHPData():void 
{ 
    var objSend:Object = new Object(); 
    var dataString:String = JSON.encode(dataArray.toArray()); 
    dataString = escape(dataString); 
    objSend.setTutorials = "true"; 
    objSend.jsonSendData = dataString; 
    sendData.send(objSend); 
} 

private function updatedPHPDataResult(event:ResultEvent):void 
{ 
    lblStatus.text = String(event.result); 
} 

private function checkRating(event:DataGridEvent):void 
{ 
    var txtIn:TextInput = TextInput(event.currentTarget.itemEditorInstance); 
    var curValue:Number = Number(txtIn.text); 
    if(isNaN(curValue) || curValue < 0 || curValue > 10) 
    { 
    event.preventDefault(); 
    lblStatus.text = "Please enter a number rating between 0 and 10"; 
    } 
    } 
]]> 
</mx:Script> 
<mx:HTTPService id="getData" url="/keishalexie/imd465/forum.php" 
useProxy="false" method="GET" resultFormat="text" 
result="getPHPData(event)"> 
<mx:request xmlns=""> 
    <getTutorials>"true"</getTutorials> 
</mx:request> 
</mx:HTTPService> 
<mx:HTTPService id="sendData" url="/keishalexie/imd465/forum.php" 
useProxy="false" method="GET" resultFormat="text" 
result="updatedPHPDataResult(event)"> 
</mx:HTTPService> 
<mx:Binding source="dgData.dataProvider as ArrayCollection" 
destination="dataArray"/> 
<mx:Panel x="0" y="0" width="535" height="345" layout="absolute" 
title="Forum"> 
<mx:DataGrid id="dgData" x="10" y="10" width="495" height="241" 
    dataProvider="{dataArray}" creationComplete="{initDataGrid()}" 
    editable="true" itemEditEnd="{checkRating(event)}"> 
    <mx:columns> 
    <mx:DataGridColumn headerText="Name" dataField="name" editable="false"/> 
    <mx:DataGridColumn headerText="Author" dataField="author" width="115" 
     editable="false"/> 
    <mx:DataGridColumn headerText="Rating" dataField="rating" width="50" 
     editable="true" /> 
    </mx:columns> 
</mx:DataGrid> 
<mx:Button x="10" y="259" label="UpdateDatabase" id="butUpdate" 
    click="{sendPHPData()}"/> 
<mx:Label x="140" y="261" id="lblStatus"/> 
</mx:Panel> 
</mx:Application> 
+0

これはサーバーと同じドメインにありますか? – Brandon

0
  • あなたのDataGrid内の任意のデータをdsplayすることができますか?

  • getData HTTPServiceにブレークポイントを設定すると、それを捕まえることができますか?言い換えれば、それは呼ばれていますか?または、障害がありますか?

    結果= "getPHPData(イベント)" 障害= "getFault(イベント)"

    getFault()を定義します。このように障害ハンドラーを追加します。

関連する問題