【问题标题】:Onchange event with adobe air and javascript使用 adobe air 和 javascript 的 Onchange 事件
【发布时间】:2014-09-10 11:35:48
【问题描述】:

我正在使用 adobe air 和 javascript 开发一个应用程序。我有一个选择元素,我在其中添加了一个 onchange 事件。每次选择更改值时,应用程序都会调用 ajax 来获取数据以填充另一个字段。但我无法从服务器得到任何响应。根本没有任何反应。有谁知道这个活动有什么限制以及如何克服它?

select_object.addEventListener("change",callServer,false);

function callServer(event){

            var a= event.currentTarget.value;

            var variables = new air.URLVariables("value=" + a);

            var u ="http://www.exemple.com";


            var request = new air.URLRequest(u);
            request.data = variables;
            request.method = air.URLRequestMethod.POST;         

            loader = new air.URLLoader();
            loader.dataFormat = air.URLLoaderDataFormat.TEXT;
            loader.addEventListener(air.Event.COMPLETE, comp);
            loader.addEventListener(air.Event.SECURITY_ERROR, function(event){alert('error');});

            try {
            loader.load(request);
        } catch (error) {
            alert("Unable to load URL");
        }


        function comp(e) {
             alert('sucess')
        }

}

【问题讨论】:

    标签: javascript air adobe


    【解决方案1】:

    是否调用了事件监听器?您可以在处理程序开始检查时添加警报/跟踪调用。此外,您在加载程序中缺少 IO_ERROR 的事件处理程序。 你忘记调用 loader.load() 了吗?

    同时为 IO_ERROR 添加一个处理程序

    loader.addEventListener(air.Event.IO_ERROR, function(event){alert('error');});
    

    【讨论】:

    • 是的,事件监听器被调用,我尝试了所有可能的响应事件,但没有输出任何消息
    • @ManuelGerardoPereira 你忘了 loader.load() 吗?
    • 对不起,我忘了复制那些行,但它们在原始代码中,所以我没有忘记。这是一个很奇怪的问题。
    • @ManuelGerardoPereira 我仍然没有看到 IO_ERROR 的处理程序,请检查我的编辑并检查 UrlLoader 文档并在需要时添加所有事件的所有处理程序(用于状态和进度),并让我们知道你得到了什么
    • 我在 urlLoader 对象上设置了所有类型的事件。代码调度 urlRequest 但 urlLoader 上的事件不提供任何输出。无论如何,我将使用 xmlHttpRequest 或 $.ajax() 来实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 2010-09-15
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    相关资源
    最近更新 更多