问题标签 [httpservice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
953 浏览

apache-flex - HTTPService 结果 - 检查具有指定名称的项目数

我对 HTTPService 及其返回的数据有疑问。

好吧,让我们考虑一下这个 XML:

如您所见,我有两个Photo实例,它们将使用 HTTPService 检索,然后在同一个 HTTPService 的 Result Event 上,我希望他计算他返回的名为Photo.lastResult的实例数量。

这是一个愚蠢的问题,但我在 Adob​​e Docs 的任何地方都找不到它。

当然,非常感谢任何帮助、提示、建议。


梅多瓦

我必须是盲人什么的,因为它仍然返回 0。

这里缺少什么?

MXML

动作脚本

0 投票
2 回答
786 浏览

apache-flex - 如何使用 Flex 对 Freshbooks API 进行身份验证?

我是 Flex (FLex Builder 3.0) 的新手,我正在创建一个简单的应用程序,它基本上只是通过 HTTPS 向 Freshbooks API (www.freshbooks.com) 进行身份验证。无需发送任何其他内容。

这是我到目前为止所拥有的:

问题是,当我单击按钮时,浏览器会弹出一个弹出窗口,要求我输入 FreshBooks 服务的用户名和密码。

如何对其进行编码,以便将用户名(freshbooks 提供的身份验证令牌)从 Flex 本身而不是浏览器发送到服务器?我的预期结果是浏览器不会弹出任何窗口,并且无论新鲜书服务器返回什么,都将显示在文本区域 (txtArea1) 中。

注意:如果我将身份验证令牌输入到浏览器弹出窗口,应用程序能够正确地将输出显示到文本区域。

谢谢。

0 投票
3 回答
1603 浏览

xml - 将XML反序列化为Flex中的自定义类?

是否可以在 Flex 中将 XML 文件反序列化为类,而无需手动检查 XML 和/或创建类,借助HttpService?

编辑:解释得更多更好。

我们有一个 XML 文件,其中包含:

在 Flex 中,我们希望将其序列化为我们的 Project 类:

XML 使用 HTTPService 加载。

0 投票
1 回答
368 浏览

xml - Flex:加载用户无法访问的 XML 文件

我们有一个 Flex 应用程序,它当前正在加载一个包含多项选择问题数据的 XML 文件。我不希望用户能够通过 http 访问此文件,但如果我使用 HTTPService 加载文件(我们目前正在做的事情),似乎我必须将 XML 文件放在 public_html 文件夹中我们的服务器。

有没有更好的方法来加载 XML 文件,这样用户就无法在他们的活动查看器中看到它/通过 http:// 访问它

谢谢!

0 投票
1 回答
939 浏览

apache-flex - 通过 HTTPService 从 Url 将数据作为字符串加载到 Flex 文本区域

我想使用 HTTPService 加载一些以特定频率随机变化的数据(列数和行数),我得到类似 freq#ncols#nrows#value 的字符串。我如何显示例如: 1000#21#13#2391 这意味着:在 21 列,13 行中,我的值 2391 每 1 秒更改一次。谢谢

0 投票
2 回答
2571 浏览

apache-flex - 从动态 HTTPService 异步获取数据以填充 Advanced Data Grid Flex

我必须填充具有以下字段的高级数据网格:大陆->状态->社会->实际价值->估计值我想模拟金融市场,所以我必须通过异步请求更改一些值来自 HTTPService;你有什么想法吗?谢谢你。如有必要,我将发布 .as 文件,但它是由 Flex Builder 自动生成的。

这是客户端 Flex/Air 应用程序的代码:

这是.as文件..

/** * 定义 UI 逻辑和一些数据访问代码的 ActionScript 源文件。* 此文件使用 mx:Script 标签链接到主应用程序 MXML 文件。* 此文件中的大多数函数由 * MXML 中定义的事件处理程序调用。 / 导入 flash.events。;

导入 mx.collections.ArrayCollection;导入 mx.controls.AdvancedDataGrid;导入 mx.controls.Alert;导入 mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;导入 mx.events.*;导入 mx.managers.CursorManager;导入 mx.rpc.AsyncToken;导入 mx.rpc.events.FaultEvent;导入 mx.rpc.events.ResultEvent;导入 mx.rpc.http.HTTPService;

//包含服务器端点 URL 的常量定义 include "provaconfig.as";

/** * gateway : 这是与服务器端 php 代码的通信层 */ private var gateway:HTTPService = new HTTPService();

/** * 数组集合包含我们在网格中使用的行 */ [Bindable] public var dataArr:ArrayCollection = new ArrayCollection();

/** * 我们排序的列。每次用户单击 * 网格列标题时都会更新。* 见 headerRelease="setOrder(event);" 在 * mxml 文件中的 DataGrid 实例化 */ private var orderColumn:Number;

/** * 数据库表中的字段列表 * 需要将响应解析为哈希 */ private var fields:Object = { 'continente':String, 'stato':String, 'societa':String, 'actual' :Number, '估计':Number};

/** * 当 mxml 完成加载时执行。初始化休息网关。*/ 私有函数 initApp():void {

}

/** * 不允许编辑主键列。* @param e DataGridEvent 包含有关网格的行和列的详细信息 * 用户单击的位置 */ private function editCellHandler(e:AdvancedDataGridEvent):void { /** * 如果用户单击主键列,则停止编辑 * / if(e.dataField == "continenteCol") { e.preventDefault(); 返回; } }

/** * 单击“过滤器”按钮的处理程序。* 设置另一个过滤器时,刷新集合,加载新数据 */ private function filterResults():void { fill(); }

/** * 当用户完成编辑条目时触发事件处理程序 * 触发“更新”服务器命令 */ private function editCellEnd(e:AdvancedDataGridEvent):void { var dsRowIndex:int = e.rowIndex; var dsFieldName:String = e.dataField; var dsColumnIndex:Number = e.columnIndex;

}

/** * “更新”服务器命令的结果处理程序。* 只是警告错误,或者如果没问题就什么也不做 - 数据已经 * 在网格中更新 */ private function saveItemHandler(e:Object):void { if (e.isError) { Alert.show("Error: " + e.data.error); } 其他 { }
}

/** * 数据网格的 dragHeader 处理程序。当用户 * 单击数据网格中的标题列时执行此处理程序 * 更新全局 orderColumn 变量,刷新 TableCollection * @param event DataGridEvent 有关列的详细信息 */ private function setOrder(event:AdvancedDataGridEvent):void { orderColumn = event.columnIndex; var col:AdvancedDataGridColumn = dataGrid.columns[orderColumn]; col.sortDescending = !col.sortDescending;

}

/** * 在“添加”状态下“保存”按钮的点击处理程序 * 收集表单中的信息并将新对象添加到集合中 / 私有函数 insertItem():void { var parameters: = { "method" :“插入”,“大陆”:continenteCol.text,“stato”:statoCol.text,“societa”:societaCol.text,“actual”:actualCol.text,“estimate”:estimateCol.text };

}

/** * 插入调用的结果处理程序。* 存在则提示错误 * 如果调用成功,返回列表,刷新数据 */ private function insertItemHandler(e:Object):void { if (e.isError) { Alert.show("Error : " + e.data.error); } 其他 { goToView(); 填(); }
}

/** * 刷新数据的通用实用函数 * 获取过滤和排序,然后调度一个新的服务器调用 * */ private function fill():void { /** * 查找订单参数 */ var desc:Boolean =错误的; var orderField:String = '';

}

/** * 填充调用的结果处理程序。* 如果是错误,则显示给用户,否则用新数据重新填充 arraycollection * / private function fillHandler(e:Object):void { if (e.isError) { Alert.show("Error: " + e.data.error); } else { dataArr.removeAll(); for each(var row:XML in e.data.row) { var temp: = {}; for (var key:String in fields) { temp[key + 'Col'] = row[key]; }

}

/** * 单击列表中“删除”按钮的处理程序 * 确认操作并启动 deleteClickHandler 函数 */ private function deleteItem():void {

}

/** * 确认对话框的事件处理函数在按下 * 删除按钮时引发。* 如果按下的按钮为是,则删除该产品。* @param 对象事件 * @return nothing / 私有函数 deleteClickHandler(event:CloseEvent):void { if (event.detail == Alert.YES) { var vo: = dataGrid.selectedItem;

}

public function deleteHandler(e:*):void { if (e.isError) { Alert.show("Error: " + e.data.error); } else { varcontine:Number = parseInt(e.data.toString(), 10); for (var index:Number = 0; index < dataArr.length; index++) { if (dataArr[index].continenteCol ==continente) { dataArr.removeItemAt(index); 休息; } } }
}

/** * 反序列化 xml 响应 * 处理错误情况 * * @param e ResultEvent 服务器响应和有关连接的详细信息 / public function deserialize(obj: , e: ): { var toret:Object = {};

}

/** * 网关的结果处理程序 * 反序列化结果,然后调用 REAL 事件处理程序 *(在 doRequest 函数中发出请求时设置) * * @param e ResultEvent 服务器响应和有关连接 /公共函数的详细信息resultHandler(e:ResultEvent):void { var topass: = deserialize(e.result, e); e.token.handler.call(null, topass); }

/** * 此连接的错误处理程序 * * @param e FaultEvent 错误对象 */ public function faultHandler(e:FaultEvent):void { var errorMessage:String = "Connection error: " + e.fault.faultString; if (e.fault.faultDetail) { errorMessage += "\n\n附加细节:" + e.fault.faultDetail; } Alert.show(errorMessage); }

/** * 使用网关实例向服务器发出请求 * * @param method_name String 服务器dispathcer中使用的方法名称 * @param parameters 用于在 post 中发送的对象名称值对 * @param callback 时要调用的函数函数调用完成 */ public function doRequest(method_name:String, parameters:Object, callback:Function):void { // 将方法添加到参数列表 parameters['method'] = method_name;

}

/** * 当用户单击“创建”按钮时单击处理程序 * 加载“更新”画布。*/ public function goToUpdate():void { applicationScreens.selectedChild = update; }

/** * 加载“视图”画布。*/ public function goToView():void { applicationScreens.selectedChild = view; }

私有函数 adg_itemClick(e:ListEvent):void { var item:Object = AdvancedDataGrid(e.currentTarget).selectedItem; e.target.expandItem(item, !e.target.isItemOpen(item),true);

}

0 投票
2 回答
342 浏览

apache-flex - FLEX Cairngorm 命令...奇怪的行为

在尝试解决我在序列化 cairngorm 命令执行方面的问题时,我试图完全绕过事件调度并简单地实例化我想要执行的命令,然后调用它的执行方法。在这个方法中,有一个调用调用 ServiceUtils 的委托来执行 HTTPService.send 事情......

现在,这些命令应该按照我调用它们的确切顺序运行。而且,由于服务器(RAILS)只有一个,所有请求都应该以相同的顺序返回。这不是这样..顺序因执行不同而异..为什么?!?

0 投票
2 回答
12126 浏览

apache-flex - HTTPService AsyncToken 和 AsyncResponder 示例

我在哪里可以找到实现由 AsyncToken 和 AsyncResponder 异步调用的 HTTPService 的 Flex 应用程序示例?提前致谢

httpservice 以一定的频率发送这样的字符串:

行#column#number#row#column#number#row#column#number#....

编辑代码:

0 投票
2 回答
462 浏览

apache-flex - Flex:时间 HTTPService 加载需要多长时间?

我在 Flex 中使用 HTTPService 加载一些 XML。它需要的时间比我想加载的要长。所以我想做一些故障排除,但为了说明有什么不同,我需要能够对请求进行计时以及它们需要多长时间。

对 http 服务进行计时以查看从 HTTPService.send() 到 HTTPService.result 花费了多长时间的最佳方法是什么

谢谢!

0 投票
1 回答
693 浏览

database - 没有 Livecycle、BlazeDS 或类似的 AMF 频道

是否可以在 Flex HTTPService 客户端应用程序中使用 AMF 通道而不使用 Adob​​e Livecycle、BlazeDs 或类似工具来从 HTTPService 执行实时异步请求?