cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Grebnov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-5203) Using XmlHTTPRequest.open on WP8 raises a TypeError
Date Tue, 12 Nov 2013 13:26:19 GMT

    [ https://issues.apache.org/jira/browse/CB-5203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13820077#comment-13820077
] 

Sergey Grebnov commented on CB-5203:
------------------------------------

There is a problem in XmlHttpRequest wrapper functions used by Weinre so a quick workaround
to get this working is 

Replace the following lines (web\target\target-script-min.js)

HookSites.XMLHttpRequest_open = HookLib.addHookSite(XMLHttpRequest.prototype, "open");
HookSites.XMLHttpRequest_send = HookLib.addHookSite(XMLHttpRequest.prototype, "send");
HookSites.XMLHttpRequest_addEventListener = HookLib.addHookSite(XMLHttpRequest.prototype,
"addEventListener");

With

HookSites.XMLHttpRequest_open = HookLib.addHookSite(XMLHttpRequest.prototype, "openFake");
HookSites.XMLHttpRequest_send = HookLib.addHookSite(XMLHttpRequest.prototype, "sendFake");
HookSites.XMLHttpRequest_addEventListener = HookLib.addHookSite(XMLHttpRequest.prototype,
"addEventListenerFake");

> Using XmlHTTPRequest.open on WP8 raises a TypeError
> ---------------------------------------------------
>
>                 Key: CB-5203
>                 URL: https://issues.apache.org/jira/browse/CB-5203
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: weinre
>    Affects Versions: 3.1.0
>         Environment: Windows Phone 7 + 8
> Windows 8, MS Visual Studio Express 2012 for Windows Phone version 11.0.60610.01 Update
3. .NET version 4.5.50709. Weinre 2.0.0-pre-HH0SN197
>            Reporter: Björn Andersson
>            Assignee: Sergey Grebnov
>
> Using the {{cordova-app-hello-world}} code on a WP8 device, connected to the device through
weinre, trying to use XMLHTTPRequest like this:
> {code:language=javascript}
> var xhr = new XMLHttpRequest();
> xhr.open('GET', 'js/index.js', true);
> xhr.send();
> console.log(xhr.responseText);
> {code}
> An error is raised at {{xhr.open}}: {{TypeError: Object doesn't support property or method
'addEventListener'}}
> The same code on iOS runs through and shows me the content of {{index.js}}.
> Changing the call to:
> {code:javascript}
> var xhr = new XMLHttpRequest();
> xhr._url = 'js/index.js';
> xhr.send();
> console.log(xhr.responseText);
> {code}
> Returns the expected result.
> I also noticed that {{XMLHttpRequest.prototype.open}} does not match the code in {{cordovalib\XHRHelper.cs}}:
> {code:title=XMLHttpRequest.prototype.open|javascript}
> function() {
> var result;
> callBeforeHooks(hookSite, this, arguments);
> try {
> result = func.apply(this, arguments);
> } catch (e) {
> callExceptHooks(hookSite, this, arguments, e);
> throw e;
> } finally {
> callAfterHooks(hookSite, this, arguments, result);
> }
> return result;
> }
> {code}
> GitHub repository with the code I used: https://github.com/gaqzi/cordova-wp8-xhr-test



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message