国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Flash > 正文

FLASH AS3與網(wǎng)頁JS參數(shù)值傳遞的問題

2020-07-17 13:17:19
字體:
來源:轉載
供稿:網(wǎng)友
讓我們一干人等郁悶了1個多小時的一個問題,結果才發(fā)現(xiàn),JS處理JSON結構的時候,如果JSON格式與所需的不符,則函數(shù)都不會執(zhí)行。

問題起因:AS3調用PHP,PHP異步返回一個XML結構,AS3取XML結構中的某些節(jié)點值賦給某個對象,然后通過與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類型。

發(fā)現(xiàn)錯誤點:JS內部調用函數(shù)時,在三種情況下調試:1、不傳參數(shù)給函數(shù);2、傳一個正確類型和結構的JSON作為參數(shù);3、傳一個不正確類型和結構的JSON作為參數(shù)。 經(jīng)過這三次調試后發(fā)現(xiàn),如果JSON結構不正確,則JS函數(shù)不會執(zhí)行。 這樣一來,問題就轉到了Flash傳遞給JS的參數(shù)上。對比之前Flash的調試輸出的結果,確認Flash從PHP獲取到XML后,在給傳遞給JS參數(shù)賦值的時候需要強制轉換。

最后解決方法:修改賦值部分代碼:
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));
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜春市| 定结县| 政和县| 徐水县| 新兴县| 常德市| 江都市| 乐亭县| 额济纳旗| 望谟县| 盱眙县| 绥化市| 石屏县| 延寿县| 霍邱县| 大兴区| 通州区| 桦川县| 饶河县| 依兰县| 客服| 台中县| 阿克陶县| 湟源县| 津市市| 汪清县| 弥渡县| 樟树市| 乐东| 安仁县| 景谷| 辰溪县| 龙南县| 曲阳县| 蒙城县| 浦江县| 鹤峰县| 德保县| 云浮市| 获嘉县| 安国市|