【问题标题】:Titanium xhr events not firingTitanium xhr 事件未触发
【发布时间】:2012-07-12 01:33:23
【问题描述】:

我一直试图让一个简单的 xhr 请求工作,但由于一些未知的原因,什么也没发生,甚至 onerror 函数也没有触发。

        var xhr = Ti.Network.createHTTPClient();
    xhr.onload = function() {
        Titanium.API.log('Success');
    }
    xhr.onerror = function() {
        Titanium.API.log('Error');
    }

    xhr.open("GET","http://www.google.com/");
    xhr.send();

我已经用一个新创建的项目尝试过这个,但仍然没有运气。使用小告密者,我注意到应用程序与给定的 url 建立了连接……但仍然没有任何反应。

我错过了什么?

我也在 iPhone 模拟器上进行开发。

【问题讨论】:

    标签: iphone xmlhttprequest titanium appcelerator


    【解决方案1】:

    我认为 XHR 请求没有任何问题 - Titanium.API.log 函数需要两个参数,但您只给它一个参数,所以它可能只是没有打印到控制台。 Titanium 文档目前已关闭,因此我无法将您链接到正确的 API,但如果您将代码更改为使用 Ti.API.info,例如,您应该会看到打印的内容。这对我有用:

    var xhr = Ti.Network.createHTTPClient();
    xhr.onload = function() {
        Titanium.API.info('Success');
    }
    xhr.onerror = function() {
        Titanium.API.info('Error');
    }
    
    xhr.open("GET","http://www.google.com/");
    xhr.send();
    

    【讨论】:

    • 这很奇怪。您可以只使用一个参数调用 log 而不会出错。我确实注意到,如果您遇到我所拥有的,那是因为 xhr.xml 中存在错误。此类错误不会出现在调试控制台中......它只是默默地崩溃......所以我把所有东西都剥离了基础,现在它可以正常工作了。
    • 我发现它的唯一原因是因为我正在测试 1.8 beta - V8 引擎的语法更加严格,所以我收到了一个错误。
    猜你喜欢
    • 1970-01-01
    • 2023-03-03
    • 2013-04-03
    • 2012-05-17
    • 2013-09-04
    • 1970-01-01
    • 2012-08-06
    • 2010-11-08
    • 2019-01-31
    相关资源
    最近更新 更多