将JSON对象从Javascript发送到Flex

时间:2014-12-13 18:26:29

标签: javascript json flex

我正在尝试将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;
    }
});
}

这样做的正确方法是什么?

1 个答案:

答案 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