WWW::Scripter::Plugin::Ajax - WWW::Scripter plugin that provides the XMLHttpRequest object
Version 0.09 (alpha)
use WWW::Scripter; $w = new WWW::Scripter; $m->use_plugin('Ajax'); $m->get('http://some.site.com/that/relies/on/ajax');
To load the plugin, use WWW::Scripter's
use_plugin method, as shown in the Synopsis. Any extra arguments to
XMLHttpRequest object currently does not support asynchronous connections. Later this will probably become an option, at least for threaded perls.
Since it uses LWP, URI schemes other than http (e.g., file, ftp) are supported.
The XMLHttpRequest interface members supported so far are:
Methods: open send abort getAllResponseHeaders getResponseHeader setRequestHeader Attributes: onreadystatechange readyState responseText responseXML status statusText Event-Related Methods: addEventListener removeEventListener dispatchEvent Constants (static properties): UNSENT OPENED HEADERS_RECEIVED LOADING DONE
removeRequestHeader and more event attributes are likely to be added in future versions.
This plugin requires perl 5.8.5 or higher, and the following modules:
HTML::DOM version 0.013 or later
Encode 2.09 or higher
LWP 5.833 or higher
If you find any bugs, please report them to the author by e-mail (preferably with a patch :-).
XML::DOM::Lite is quite lenient toward badly-formed XML, so the
responseXML property returns something useful even in cases when it should be null.
The SECURITY_ERR, NETWORK_ERR and ABORT_ERR constants are not available yet, as I don't know where to put them.
It does not conform to the spec in every detail, since the spec is still being written and is different every time I check it.
None of the additional features in the Level 2 spec are implemented.
There is currently no API to signal that the user has cancelled a connection. You can call the
abort method, but that does not have exactly the same result that a user-initiated cancellation is meant to have.
Furthermore, this module follows the badly-designed API that is unfortunately the standard so I can't do anything about it.
Copyright (C) 2008-11 Father Chrysostomos <
['sprout', ['org', 'cpan'].reverse().join('.')].join('@')>
This program is free software; you may redistribute it and/or modify it under the same terms as perl.
Erwan Mas provided a bug fix.
XMLHttpRequest specification (draft as of August 2009): http://www.w3.org/TR/XMLHttpRequest/
XMLHttpRequest Level 2: http://www.w3.org/TR/XMLHttpRequest2/
WWW::Mechanize::Plugin::Ajax (the original version of this module)