Hi-

I just tracked it down further.
The function that the event handler calls onResult is not being 
called. My problem was in there i thought but the whole function
is not even executing. I will see what to do about another handler.

thanks,
j.




Sent with Proton Mail secure email.

On Sunday, April 27th, 2025 at 12:28 PM, Jim McNamara 
<jmcnamara10...@proton.me> wrote:

> Hi I wanted to mention as well that i am using phpamf3 by neoxic.
> 
> It is an extension for PhP in case you were wondering about the
> code.
> 
> I don't think the problem i am experiencing is on the PhP side because in the 
> response tab there is data and when I visit that link it shows json.
> 
> Any help is greatly appreciated.
> 
> thanks,
> j.
> 
> Sent with Proton Mail secure email.
> 
> 
> On Sunday, April 27th, 2025 at 10:19 AM, Jim McNamara 
> jmcnamara10...@proton.me wrote:
> 
> > Hi-
> > 
> > I thought this looks pretty good but the data won't go in the list.
> > 
> > this is what php prints for raw data and its code looks like
> > I hope you can give me a tip it passes it to the f12 console from PhP but
> > doesn't populate the list.
> > 
> > a BIG thanks for any assistance,
> > j.
> > 
> > http://127.0.0.1:8000/test.php?param1=foo&param2=bar
> > {"foo":"some_value","bar":"another_value"}
> > 
> > <?php
> > 
> > // Enable CORS headers
> > header("Access-Control-Allow-Origin: *"); // Allow all origins, or set 
> > specific origins like 'http://127.0.0.1'
> > header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
> > header("Access-Control-Allow-Headers: Content-Type, Authorization");
> > header("Access-Control-Allow-Credentials: true");
> > 
> > // Define the class (similar to your original example)
> > class MyClass {
> > 
> > private $foo;
> > private $bar;
> > 
> > public function __construct($foo, $bar) {
> > $this->foo = $foo;
> > 
> > $this->bar = $bar;
> > 
> > }
> > 
> > public function toJson() {
> > return json_encode([
> > 'foo' => $this->foo,
> > 
> > 'bar' => $this->bar,
> > 
> > ]);
> > }
> > }
> > 
> > // Create an instance of MyClass
> > $myClass = new MyClass('some_value', 'another_value');
> > 
> > // Send the object as a JSON response
> > header('Content-Type: application/json');
> > echo $myClass->toJson();
> > 
> > So far I have thus in actionscript: in f12 mode firefox
> > http://127.0.0.1:8000/test.php?param1=foo&param2=bar
> > 
> > XHRGET
> > http://127.0.0.1:8000/test.php?param1=foo&param2=bar
> > [HTTP/1.1 200 OK 1ms]
> > 
> > foo "some_value"
> > bar "another_value"
> > 
> > package testpkg {
> > import org.apache.royale.core.UIBase;
> > import org.apache.royale.html.elements.Button;
> > import org.apache.royale.events.MouseEvent;
> > import org.apache.royale.net.HTTPService;
> > import org.apache.royale.net.events.ResultEvent;
> > import org.apache.royale.net.events.FaultEvent; // Import FaultEvent for 
> > error handling
> > import org.apache.royale.jewel.List;
> > import org.apache.royale.collections.ArrayList;
> > import org.apache.royale.jewel.Alert; // Import Alert for showing messages
> > import org.apache.royale.events.Event;
> > import org.apache.royale.jewel.Grid;
> > import org.apache.royale.jewel.GridCell;
> > import org.apache.royale.html.elements.H3;
> > import org.apache.royale.html.beads.layouts.Paddings;
> > import org.apache.royale.jewel.Card;
> > import org.apache.royale.jewel.supportClasses.card.CardHeader;
> > import org.apache.royale.jewel.supportClasses.card.CardPrimaryContent;
> > 
> > public class SqliteQuery extends UIBase {
> > public var _listData:ArrayList= new ArrayList(["Blueberries", "Bananas", 
> > "Lemons", "Oranges", "This is a long item render to try long texts"
> > ]);;
> > private var list:List = new List();
> > 
> > [Bindable]
> > public function get listData():ArrayList {
> > return _listData;
> > }
> > 
> > public function set listData(value:ArrayList):void {
> > _listData = value;
> > }
> > 
> > public function SqliteQuery() {
> > // Initialize listData as ArrayList
> > super();
> > var grid:Grid = new Grid();
> > grid.gap = true;
> > grid.itemsVerticalAlign = "itemsSameHeight";
> > 
> > var paddings:Paddings = new Paddings();
> > paddings.paddingTop = 0;
> > paddings.paddingLeft = 50;
> > paddings.paddingRight = 50;
> > paddings.paddingBottom = 50;
> > grid.addBead(paddings);
> > 
> > var card:Card = new Card();
> > var cardHeader:CardHeader = new CardHeader();
> > var headerText:H3 = new H3();
> > headerText.text = "Default";
> > headerText.className = "primary-normal";
> > cardHeader.addElement(headerText);
> > card.addElement(cardHeader);
> > 
> > var list:List = new List();
> > list.id = "list1"; // Use `id` instead of `localId`
> > list.width = 200;
> > list.height = 300;
> > list.selectedIndex = 2;
> > list.dataProvider = listData;
> > list.addEventListener("change", onChange);
> > listData = new ArrayList();
> > 
> > // Apply a border style to the List
> > list.className = "listBorderStyle"; // Link the CSS class to the List
> > // Add the scrolling beads for horizontal and vertical scrolling
> > //list.addBead(new HorizontalListScroll()); // For horizontal scrolling
> > // list.addBead(new VerticalListScroll()); // For vertical scrolling
> > 
> > var cardPrimaryContent:CardPrimaryContent = new CardPrimaryContent();
> > cardPrimaryContent.addElement(list);
> > card.addElement(cardPrimaryContent);
> > 
> > var gridCell:GridCell = new GridCell();
> > gridCell.desktopNumerator = 1;
> > gridCell.desktopDenominator = 2;
> > gridCell.tabletNumerator = 1;
> > gridCell.tabletDenominator = 2;
> > gridCell.phoneNumerator = 1;
> > gridCell.phoneDenominator = 1;
> > gridCell.addElement(card);
> > grid.addElement(gridCell);
> > 
> > addElement(grid);
> > }
> > 
> > public function getld():ArrayList {
> > return listData;
> > }
> > 
> > // Fetch data and populate listData
> > public function fetchData():void {
> > var service:HTTPService = new HTTPService();
> > //service.method="POST";
> > //service.url = "http://127.0.0.1:8000/test.php";;
> > service.contentType = "application/json"; // For JSON requests
> > service.url = "http://127.0.0.1:8000/test.php?param1=foo&param2=bar";;
> > service.method = "GET"; // Use GET for query parameters
> > 
> > service.addEventListener(ResultEvent.RESULT, onResult);
> > service.send();
> > }
> > 
> > private function onResult(event:ResultEvent):void {
> > // The response data is a JSON object with foo and bar properties
> > var responseData:Object = event.data;
> > 
> > // Array to hold the new items to add to the List
> > var items:Array = [];
> > 
> > // Loop through the response data (assuming it's an array of objects)
> > for (var i:int = 0; i < responseData.length; i++) {
> > var item:Object = responseData[i];
> > 
> > // Create a new object with the foo and bar properties
> > items.push({foo: item.foo, bar: item.bar});
> > }
> > 
> > // Now set the items array to the List's dataProvider
> > // Use list.dataProvider directly, and make sure to use an ArrayList
> > list.dataProvider = new ArrayList(items);
> > 
> > // Optional: Log the data to verify
> > trace("List data populated:", list.dataProvider.source);
> > }
> > 
> > private function onChange(event:Event):void {
> > trace("Selected: " + event.target.selectedItem);
> > }
> > }
> > }
> > 
> > Sent with Proton Mail secure

Reply via email to