2
使Flash無法識別有效的HTTP響應代碼(207)有些困難。奇怪的是,這似乎只發生在FireFox到目前爲止..在Chrome中工作正常。Flash和HTTP狀態碼207
下面是生成以下錯誤的代碼。它似乎在FlashBug中返回HTTP狀態0 ..必須在Chrome中以不同的方式處理?有什麼辦法仍然可以得到答覆機構嗎?
沒有我做的似乎能夠讓我在這種情況下的響應正文。 :(
// Initiate a call to a Patron URL
private function callPatron(url:String, callback:Function) {
trace("Calling Patron");
_loader.addEventListener(Event.COMPLETE, function(e:Event) { callback(parseResponse(e)) });
_loader.addEventListener(IOErrorEvent.IO_ERROR, gotError);
_loader.addEventListener("httpResponseStatus", onStatus);
_loader.addEventListener(ProgressEvent.PROGRESS, progressHandler);
_loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onStatus);
_loader.load(new URLRequest(url));
}
private function progressHandler(event:ProgressEvent) {
trace("Progresso");
}
private function onStatus(event:HTTPStatusEvent) {
trace('Got HTTP status: ' + event.status);
trace(event.toString());
}
private function gotError(event:IOErrorEvent) {
trace('IOError: ' + event.text);
var loader:URLLoader = URLLoader(event.target);
trace(loader.content);
trace('WORD.');
}
// Decode a Patron response event and return the parsed object
public function parseResponse(event:Event):Object {
trace("Got a Patron response");
var loader:URLLoader = URLLoader(event.target);
return JSON.decode(loader.data);
}
..和輸出:
Initializing
Calling Patron
Got HTTP status: 0
[HTTPStatusEvent type="httpStatus" bubbles=false cancelable=false eventPhase=2 status=0 responseURL=null]
IOError: Error #2032: Stream Error. URL: http://www.zappos.com/api/Product?key=5f25a02d8015e05ba3874e0b45be0379fe8b3c21&styleId=["1377484","1312254","269758","1519409","1325534","1152368"]&includes=["description","productRating","styles","thumbnailImageUrl"]
WORD.
謝謝,我最終嘗試使用as3httpclient - 一個類似的基於套接字的客戶端。但它看起來不像基於網絡的閃光燈那麼熱。 :/ – makenai 2011-04-06 06:18:18