FLASH AS3与网页JS参数值传递的问题
平面设计 2021-07-03 14:34www.168986.cn平面设计培训
让我们一干人等郁闷了1个多小时的一个问题,结果才发现,JS处理JSON结构的时候,如果JSON格式与所需的不符,则函数都不会执行。
问题起因AS3调用PHP,PHP异步返回一个XML结构,AS3取XML结构中的某些节点值赋给某个对象,然后通过与JS交互将值传递给JS。
调试过程
PS item为PHP返回的xml
varobj_info:Object=newObject();
obj_info["from"]=item..from;
obj_info["context"]=item..text;
trace("UserMessage-->Messagefromservicechat::" obj_info);
trace("UserMessage-->Messagefromservicechatfrom::" obj_info["from"]);
trace("UserMessage-->Messagefromservicechatcontext::" obj_info["context"]);
this.dispatchEvent(newMessageEvent(MessageEvent.USERGETSUCCESS,obj_info)); 此处输出
UserMessage-->Messagefromservicechat::[objectObject]
UserMessage-->Messagefromservicechatfrom::[objectObject]
UserMessage-->Messagefromservicechatcontext::[objectObject] 这个obj_info对象就是传递给JS的对象,而JS需要的JSON结构为 { "from" : "...", "context" : "..." } ,这两个属性值都为string类型。
发现错误点JS内部调用函数时,在三种情况下调试1、不传参数给函数;2、传一个正确类型和结构的JSON作为参数;3、传一个不正确类型和结构的JSON作为参数。 经过这三次调试后发现,如果JSON结构不正确,则JS函数不会执行。 这样一来,问题就转到了Flash传递给JS的参数上。对比之前Flash的调试输出的结果,确认Flash从PHP获取到XML后,在给传递给JS参数赋值的时候需要强制转换。
解决方法修改赋值部分代码
varobj_info:Object=newObject();
obj_info["from"]=(item..from).toString();
obj_info["context"]=(item..text).toString();
trace("UserMessage-->Messagefromservicechat::" obj_info);
trace("UserMessage-->Messagefromservicechatfrom::" obj_info["from"]);
trace("UserMessage-->Messagefromservicechatcontext::" obj_info["context"]);
this.dispatchEvent(newMessageEvent(MessageEvent.USERGETSUCCESS,obj_info));
问题起因AS3调用PHP,PHP异步返回一个XML结构,AS3取XML结构中的某些节点值赋给某个对象,然后通过与JS交互将值传递给JS。
调试过程
PS item为PHP返回的xml
varobj_info:Object=newObject();
obj_info["from"]=item..from;
obj_info["context"]=item..text;
trace("UserMessage-->Messagefromservicechat::" obj_info);
trace("UserMessage-->Messagefromservicechatfrom::" obj_info["from"]);
trace("UserMessage-->Messagefromservicechatcontext::" obj_info["context"]);
this.dispatchEvent(newMessageEvent(MessageEvent.USERGETSUCCESS,obj_info)); 此处输出
UserMessage-->Messagefromservicechat::[objectObject]
UserMessage-->Messagefromservicechatfrom::[objectObject]
UserMessage-->Messagefromservicechatcontext::[objectObject] 这个obj_info对象就是传递给JS的对象,而JS需要的JSON结构为 { "from" : "...", "context" : "..." } ,这两个属性值都为string类型。
发现错误点JS内部调用函数时,在三种情况下调试1、不传参数给函数;2、传一个正确类型和结构的JSON作为参数;3、传一个不正确类型和结构的JSON作为参数。 经过这三次调试后发现,如果JSON结构不正确,则JS函数不会执行。 这样一来,问题就转到了Flash传递给JS的参数上。对比之前Flash的调试输出的结果,确认Flash从PHP获取到XML后,在给传递给JS参数赋值的时候需要强制转换。
解决方法修改赋值部分代码
varobj_info:Object=newObject();
obj_info["from"]=(item..from).toString();
obj_info["context"]=(item..text).toString();
trace("UserMessage-->Messagefromservicechat::" obj_info);
trace("UserMessage-->Messagefromservicechatfrom::" obj_info["from"]);
trace("UserMessage-->Messagefromservicechatcontext::" obj_info["context"]);
this.dispatchEvent(newMessageEvent(MessageEvent.USERGETSUCCESS,obj_info));
平面设计师
- 免费平面设计网站 免费平面设计绘图软件
- 平面设计基础知识题库
- 平面设计基础学包括哪些
- ui设计师工资一般多少 北京ui设计师工资一般多少
- 平面设计技巧方法 平面设计技巧总结
- 哪里的平面设计培训班比较好 哪家平面培训设计
- 哪些人不适合学平面设计 平面设计师工资一般多
- 女生学习平面设计还有其独特的优势
- 平面设计大学专业叫什么 平面设计大学专业叫什
- ui就业前景和工资待遇 ui就业前景和工资待遇怎么
- 平面设计ps入门教程 平面设计photoshop 基本操作方
- 免费学平面设计教程 平面设计免费教程网站
- 平面设计就业方向有哪些 平面设计专业就业前景
- 女生学什么设计前景好 女孩学什么设计好赚钱
- 什么人适合学平面设计 学平面设计后悔死了
- 平面设计内容有哪些 平面设计内容包括什么