npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

jquery-ajaxreadystate

v1.1.0

Published

jQuery ajaxreadystate plugin

Downloads

4

Readme

jquery-ajaxreadystate

jQuery ajaxreadystate plugin

Overview

The jQuery AJAX implementation is somewhat limited in that it does not provide a way of responding to the readystatechange events that fire during the AJAX request. The jQuery.ajax API documentation actually states the following.

No onreadystatechange mechanism is provided, however, since done, fail, always, and statusCode cover all conceivable requirements.

While this statement is true for most use cases, what if you want to access the response headers or status code before the entire request completes, or access the response body as it streams?

Evidently jQuery does not provide this functionality due to browser compatibility issues, so this plugin adds this extra functionality for browsers that support these features (see compatibility notes below).

This plugin works by adding a new method jQuery.ajaxreadystate method, which acts as a wrapper for jQuery.ajax, extending the functionality and updating the jqXHR object to remove the limitations and update properties as the readyState changes.

Usage

You use jQuery.ajaxreadystate just like you would jQuery.ajax, except you have one extra method you can define, the readystate method.

jQuery.ajaxreadystate({
	readystate: function(jqXHR, readyState) {
		
	}
});

This method will fire every time the request fires a readystatechange event, and will pass in the updated jqXHR object, and the current readyState.

Download

You can download the latest stable and minified release from the releases section of this repository. Alternately you can clone the repository download from a package managers.

Browser Compatibility

###Fully Supported

The following browsers are fully supported.

  • Firefox 3+
  • Chrome 14+
  • Internet Explorer 10+
  • Safari 5+
  • iOS Safari 4+
  • Opera 15+

###Partially Supported

The following browsers are partially supported due to technical limitations of the browser itself. Compatibility issues are noted.

  • Internet Explorer 9
    • responseText is not available until readyState is 4.
    • Only fires one readystatechange event for readyState 3 at some point during the transfer.
  • Internet Explorer 7-8
    • responseText is not available until readyState is 4.
    • status and statusText are not updated until readyState is 4.
    • getAllResponseHeaders and getResponseHeader return null until readyState is 4.
  • Internet Explorer 6
    • The readystate callback is only fired for readyState 1.
    • responseText is not available until readyState is 4.
    • status and statusText are not updated until readyState is 4.
    • getAllResponseHeaders and getResponseHeader return null until readyState is 4.
  • Safari 4
    • getAllResponseHeaders and getResponseHeader return null until readyState is 3.
  • iOS Safari 3
    • getAllResponseHeaders and getResponseHeader return null until readyState is 3.
  • Opera 11.6-12.16
    • Only fires one readystatechange event for readyState 3 at some point during the transfer.
  • Opera 11.1-11.5
    • status and statusText are not updated until readyState is 3.
    • Only fires one readystatechange event for readyState 3 at some point during the transfer.
  • Opera 10.6
    • status and statusText are not updated until readyState is 3.
    • Only fires one readystatechange event for readyState 3 at some point during the transfer.
    • getAllResponseHeaders and getResponseHeader return null until readyState is 4.

Older browsers than those listed were not tested, but may be partially or fully supported.

jQuery Compatibility

This plugin is compatible with jQuery 1.5+ and jQuery 2.0.0+.

Development

To create a minified build, run this commend from the root directory of this repository.

$ npm run build

Bugs

If you find a bug or have compatibility issues not documented above, please open a ticket under issues section for this repository.

License

See LICENSE.txt

If this license does not work for you, feel free to contact me.

Donations

If you find my software useful, please consider making a modest donation on my website at alexomara.com.