누군가가 나를 도울 수 있기를 바랍니다.자바 스크립트가 AS3 플래시로 데이터를 반환하지 않습니다.
protected function doIt():void
{
if (ExternalInterface.available) {
var retData:String;
retData = ExternalInterface.call("returndata");
if(retData != null) {
eidLbl.text = retData.toString();
} else {
eidLbl.text = "Returned Null";
}
} else {
eidLbl.text = "External Interface not available";
}
}
을하고는 자바 스크립트 함수 다음은 호출 : 나는 AS3를 사용 FlashBuilder 4에서 다음과 같은 기능을 가지고 나는 내 사이트에서 다음을 실행하면 모든 것이 잘 작동
var fql_query = "some query format";
function returndata(){
return fql_query;
}
! 플래시 파일은 javascript 함수를 호출하고 적절한 텍스트 필드에 "일부 쿼리 형식"을 반환합니다.
protected function doIt():void
{
if (ExternalInterface.available) {
var retData:String;
retData = ExternalInterface.call("runFQL",uidLbl.text);
if(retData != null) {
eidLbl.text = retData.toString();
} else {
eidLbl.text = "Returned Null";
}
} else {
eidLbl.text = "External Interface not available";
}
}
을 다음과 같은 자바 스크립트 함수 : 나는이 하나를 실행할 때
, 그것은 ID를 전달function runFQL(id){
var user_id = id;
var page_id = "**********"; // the page id that is actually there is valid
var fql_query = "SELECT uid FROM page_fan WHERE page_id="+page_id+" and uid="+user_id;
FB.api({
method: 'fql.query',
query: fql_query
},
function(response){
if (response[0]) {
var uid = response[0].uid;
window.alert(uid); //100001632043058
return uid;
} else {
window.alert("return 1000");
}
});
};
내 문제가 있음을 내 플래시 기능을 변경하는 경우 다음과 같이
그러나이 될 수 있습니다 에서 쿼리를 실행하고 uid를 정확하게 되 돌리면서 경고에 표시하지만 (여기에 내 문제 임) 반환시 플래시로 다시 전달하지 않습니다. 매번 null 또는 undefined로 반환됩니다.
누구나 내가 누락 된 부분을 말할 수 있습니까? 나는 수 시간 동안 구글을 수색 해왔다.
바리에게 감사하지만 이해할 수 있는지 잘 모르겠습니다. runFQL 함수를 실행하는 버튼을 클릭하면 FB.api를 처리하고 매회 uid의 경고를 반드시 누락시킵니다. 실패한 것은 단지 수익입니다. – Cenapps
이제는 runFQL 함수를 호출하면 명령문을 살펴보고 하나씩 차례로 실행합니다. FB.api는 비동기 호출을 수행하므로 FB.api 함수가 호출되고 runFQL 함수가 종료 된 후 실행이 계속되고 runFQL의 끝에 return 문이 없으므로 항상 undefined를 반환합니다. 이제 "fql.query"가 완료되면 FB.api로 전달하는 함수가 호출되므로 경고가 표시됩니다. 이 함수는 runFQL이 완료된 후에 호출됩니다. –