title: dojo jsonrest store with periods of no internet connectivity
body: <p>At the moment I don't know if this is a Dojo issue, a browser issue, or both.</p>
  
  <p>I have a dojo.store.JsonRest data store of items:</p>
  
  <pre><code>            //Create stores
              var json = new JsonRest(options);
  
              //Memory store
              var memory = Observable(new Memory({}));
  
              //Observable cache
              var cache = new Cache(json, memory);
  </code></pre>
  
  <p>The store of items may be shared with different users simultaneously, so the store is periodically updated by issuing something like:</p>
  
  <pre><code>store.query({..})
  </code></pre>
  
  <p>When I want to add a new item to it, I use</p>
  
  <pre><code>dojo.xhr('POST',{
    url:...,
    postData:...,
    handleAs:'json',
    headers:{...},
    failOk:true,
    timeout:15*1000
  });
  </code></pre>
  
  <p>This works fine.  However, I would like to gracefully handle the case when the post occurs during the loss of an internet connection.  In particular, I do not want the store to automatically try to post again when a connection is established again; I want the user to retry manually.</p>
  
  <p>In Chrome, it appears that the POST is aborted, and regardless of an internet connection being subsequently established again, the deferred object from the POST appears to be discarded, and the new item is never added to the datastore.</p>
  
  <p>In Firefox, it appears that the POST is aborted.  But when the datastore is refreshed, e.g. by invoking:</p>
  
  <pre><code>store.query({...})
  </code></pre>
  
  <p>the new item, whose POST was aborted, is then added to the store.  It's as if the query() call is quietly adding the new item to the datastore when an internet connection is established again.</p>
  
  <p>I'm not observing this behavior in Chrome.  And in order to get uniform behavior across different browsers, I would like to know if there is a way to ensure that once a POST is aborted, it's existence and memory is completely obliterated in Firefox. </p>