我想知道每个人的经验是关于为什么网络请求可以在FlashCS5和本地浏览器中工作,但是当我在网上发布它失败时。 survivorId
是从字符串查询发送的。两个测试都是在调用网络数据库时完成的。
我尝试了以下内容:
在文本字段中输出survivorId
,并查看参数变量是否正确发送。
在发布设置中设置“仅限网络”选项。
还有一种方法可以从浏览器输出跟踪操作以进行更深入的调试吗?
*编辑:我已在浏览器中本地重新创建了该错误。没有微量动作,我不知道我是否能解决它。
* EDIT2:这个bug只出现了,因为它来自localhost(道歉,这很奇怪)
这是我的代码,有“舞台”然后它是“localSurvivor”(movieClip)然后在localSurvivor movieclip的“lPlayer”类是addChild()到localSurvivor MovieClip
Stage-> localSurivor-> lPlayer(survivorId);
在舞台上是这段代码:
//Set localP Id
var survId:Number = root.loaderInfo.parameters.sId;
//Object(root).informationTxt.text = survId;
//加载影片剪辑类_____________________________
//Load Local Survivor
var localP:MovieClip = new lPlayer(survId);
//Add to stage
Object(root).localPlayer.addChild(localP);
//------------------------------------------
然后在lPlayer类中:
public function lPlayer(survId:Number) {
//First retrieve player information(Position, SWF File, MapId, etc, etc)
//Prepare data to request
netVariables.act = "fortDetails";
netVariables.survivorId = survivorId;
netRequest.method = URLRequestMethod.POST
netRequest.data = netVariables;
netLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
//Attach Event Handler to proccess data
netLoader.addEventListener(Event.COMPLETE, proccessFirstRun);
}
private function proccessFirstRun(rawData:Event) {
var playerInfo = rawData.target.data
//Player Info Loaded, Load the player onto the board
this.x = playerInfo.setx;
this.y = playerInfo.sety;
//Activate remote Survivors with fortId
Object(root).remotes.changeLevel(playerInfo.fid);
Object(root).zombieContain.changeLevel(playerInfo.fid);
}
//Request Data
netLoader.load(netRequest);
答案 0 :(得分:1)
您可能会遇到跨站点限制。如果您查询的服务器与托管swf的服务器不同,则可能存在限制。
答案 1 :(得分:1)