看板 Flash 關於我們 聯絡資訊
/////////////////JSP程式開頭以及輸出格式//////////// <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> out.print("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); out.print("<QString>"); out.print("<Question>"+XMLQuestion+"</Question>"); out.print("</QString>"); XMLQuestion是合成之後的字串 ///////////////////////////////////////////////////// 今天遇到一個怪問題... 我的宣告程式碼如下 var ObjStateUrl:String = "http://xxxxxxxx:8080/ObjectRandomState.jsp"; var ObjStateRequest:URLRequest = new URLRequest(ObjStateUrl); var ObjStateVar:URLVariables = new URLVariables(); ObjStateRequest.data = ObjStateVar; var ObjStateLoader:URLLoader = new URLLoader(); //ObjStateLoader.load(ObjStateRequest); ObjStateLoader.addEventListener(Event.COMPLETE, ObjectStateHandler); var ObjStateXML:XML; var StateTemp:String = ""; var ObjArray:Array = [];//用來產生場景上各物件用 function ObjectStateHandler(event:Event):void { ObjStateXML = new XML(ObjStateLoader.data); StateTemp = ObjStateXML.child("ObjectState")[0].toString(); var debugText:TextField = new TextField(); debugText.text = "測試IE是否看的到"; addChild(debugText); } //////////其他無關的程式碼或宣告/////// ///////////////////////////////// ///////////另一URL/////////////// var ObjStateUrl2:String = "http://xxxxxxxx:8080/aaa.jsp"; var ObjStateRequest2:URLRequest = new URLRequest(ObjStateUrl2); var ObjStateVar2:URLVariables = new URLVariables(); ObjStateRequest2.c = d; ObjStateRequest2.data = ObjStateVar2; var ObjStateLoader2:URLLoader = new URLLoader(); ObjStateLoader2.load(ObjStateRequest2); ObjStateLoader2.addEventListener(Event.COMPLETE, ObjectStateHandler2); var ObjStateXML2:XML; var StateTemp2:String = ""; function ObjectStateHandler2(event:Event):void { ObjStateXML2 = new XML(ObjStateLoader2.data); StateTemp2 = ObjStateXML2.child("ObjectState")[0].toString(); ObjStateVar.a = b; ObjStateLoader.load(ObjStateRequest); //執行此URL } 此swf檔嵌入html網頁中 這個swf檔此段程式碼在IE瀏覽器中不知道為什麼無法執行 ObjStateLoader.load(ObjStateRequest);不會往回執行URL程式 而在Firefox中卻可以正常執行 不知道這IE觀看的問題有辦法解決嗎.... 還是說我想往回呼叫URL時應該怎樣改寫才可以執行呢? 麻煩各位大大教我一下>"< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.135.11.98
nhchen760916:IE的FlashPlayer是9以上嗎? 05/14 12:51
mygod0520:恩...已經更新到最新了...架在TOMCAT上> < 05/14 12:57
nhchen760916:想請問,你怎麼確定"無法執行"呢? 05/14 13:25
※ 編輯: mygod0520 來自: 140.135.11.98 (05/14 13:41)
mygod0520:我在上面1的Listener中後來放了一段text 如果有執行 05/14 13:42
mygod0520:就會顯示出來 用火狐看的到 IE則沒有QQ 不知道是不是跟 05/14 13:42
mygod0520:我把load放在另一個讀取URL處理的listener中呼叫有關 05/14 13:43
※ 編輯: mygod0520 來自: 140.135.11.98 (05/14 13:46)
mygod0520:我再上面的Listener中加入text"測試IE..."在2的Listener 05/14 13:48
mygod0520:中去呼叫上面的URL IE看不到那段我加的字 火狐可以> < 05/14 13:49
※ 編輯: mygod0520 來自: 140.135.11.98 (05/14 13:50)
nhchen760916:在2個ObjectStateHandler中,都加入debugText看看?? 05/14 13:54
nhchen760916:然後,第一個顯示訊息、跟第二個顯示訊息不同 05/14 13:55
nhchen760916:做為辨識。 05/14 13:55
nhchen760916:看起來,你的程式碼,是寫在一個單影格的.fla上? 05/14 13:56
mygod0520:恩~是寫在同一影格上QQ 第二個JSP是有確定執行 05/14 13:59
mygod0520:不過我佳看看TEXT在遞二個上面看看好了 05/14 14:00
mygod0520:剛剛擺上去之後 2的TEXT確定看的到 不過一樣回CALL上面 05/14 14:05
mygod0520:URL的TEXT IE使中出不來T_T 05/14 14:05
nhchen760916:你可以多監聽幾個事件看看,像是ioError,可能會有 05/14 14:11
nhchen760916:幫助。 05/14 14:11
nhchen760916:show看看ObjStateRequest是否真的存在, 05/14 14:12
nhchen760916:以及把加入debugText的動作,放在ObjectStateHandler 05/14 14:13
nhchen760916:內的第一行。 05/14 14:13
※ 編輯: mygod0520 來自: 140.135.11.98 (05/14 14:15)
mygod0520:恩恩...我試試看T_T 05/14 14:15
nhchen760916:先確認URLLoader是否有發出HttpRequest吧! 05/14 14:18
nhchen760916:如果有發出HttpRequest,並且是拿到的資料是錯誤的。 05/14 14:21
nhchen760916:就需要檢查一下傳出參數,ObjStateVar.a = b; 05/14 14:22
mygod0520:喔喔 發現是IOERROR...可是IE觀看才會發生的IOERROR怎麼 05/14 14:30
mygod0520:檢查呢? 我是因為在ERROR Gunction印字才知道QQ 05/14 14:31
mygod0520:打錯字 是Function QQ 05/14 14:33
mygod0520:不過還是先感謝大大~^^ 05/14 14:36
nhchen760916:你可以把ObjStateRequest跟ObjStateUrl,show出來看 05/14 14:39
mygod0520:上面這兩個印出來網址沒錯 Request是[Object Request]? 05/14 14:50
mygod0520:有辦法看回傳的值是什麼嗎QQ 05/14 14:50
mygod0520:或者我XML用法有打錯嗎> < 05/14 14:51
nhchen760916:ObjStateVar.a = b,這個b是什麼? 05/14 15:11
nhchen760916:你的JSP收到一個a,會做什麼處理,如果a是錯誤值又會 05/14 15:13
nhchen760916:會怎麼處理? 05/14 15:14
mygod0520:b是一String變數 a是b傳到jsp後找資料庫的資料 並將資料 05/14 15:22
mygod0520:將資料合成一個字串 用XML格式out.print回來 05/14 15:23
mygod0520:所以傳回來的資料每次都會改變 沒有對錯QQ 05/14 15:24
mygod0520:目前查錯誤代碼式串流錯誤...不知道是哪邊寫法有問題 05/14 15:25
mygod0520:JSP debug也沒出錯...Orz 05/14 15:25
※ 編輯: mygod0520 來自: 140.135.11.98 (05/14 15:30)
mygod0520:我有補上我JSP的標頭 以及印出格式在最上面 05/14 15:33
mygod0520:其他JSP內文應該不會有問題...都是資料處理而已+_+ 05/14 15:33
mygod0520:不知道是不是哪邊要設定Orz 05/14 15:34
mygod0520:!!!剛剛把Request的method設成URLRequestMethod.POST; 05/14 15:42
mygod0520:就沒有串流錯誤了!! 趕快測試看看~(狂叫 感謝大大^^ 05/14 15:43
nhchen760916:為什麼換POST就好了呢? 05/14 16:44
mygod0520:感覺應該是傳入的字串太長導致爆掉了!! 05/14 17:19
mygod0520:如果是要跟HTTP URL作溝通的話 我看他文件寫說method要 05/14 17:19
mygod0520:使用POST (預設是GET) GET應比較是用來抓取箱對位置的圖 05/14 17:20
mygod0520:片之類用的吧~(我猜得QQ) 05/14 17:20
nhchen760916:喔喔,原來如此,謝謝喔。 05/14 20:11
nhchen760916:IE和FireFox所允許的URL長度不同。 05/14 20:14
nhchen760916:IE大約是2kB左右。而FireFox是100KB?? 05/14 20:16
nhchen760916:所以在FireFox可以,而到IE卻爆掉。 05/14 20:17
nhchen760916:大於2KB的資料傳輸量,使用POST會是較好的選擇。 05/14 20:22
mygod0520:我看網路上好像還有人用POST傳3MB的資料也沒問題 只是速 05/15 02:18
mygod0520:度上的差異的樣子~這次被搞到以後還真的多學到了一些XD 05/15 02:18
mygod0520:還好順利解決掉了0..0+ 05/15 02:19