我正在尝试将JavaScript中的JSON对象发送到Flex,我正在接收" null",
以下是我用来从flex调用JavaScript方法的代码:
private function checkUpdate():void {
if (ExternalInterface.available) {
var jsonObject:Object = ExternalInterface.call("getWhatsNew");
Alert.show(jsonObject.toString()); //shows NULL
}
}
这是java脚本代码:
function getWhatsNew() {
$.ajax({
type: 'POST',
url: 'http://10.76.116.54:8080/whatsnew',
data: null,
dataType: 'json',
async: false,
success: function (response) {
return response;
}
});
}
这样做的正确方法是什么?
答案 0 :(得分:0)
显然,您需要从getWhatsNew()
函数返回一些内容。您的代码与此相同:
function getWhatsNew() {
$.ajax({
type: 'POST',
url: 'http://10.76.116.54:8080/whatsnew',
data: null,
dataType: 'json',
async: false,
success: function (response) {
return response;
}
});
return null;
}
您可以通过在SWF的初始化中添加以下内容来解决这个问题:
ExternalInterface.addCallback("receiveUpdate", receiveUpdate);
你的ajax“成功”功能:
success: function (response) {
getSWF("whatsNewSWF").receiveUpdate(response);
}
有关详细信息,请参阅Adobe documentation。