I spent a little bit of time getting Ratchet to work with PhoneGap. In the end it was an easy fix:
In the xhr.onreadystatechange event, Ratchet checks to make sure that xhr.status == 200. PhoneGap returns a status of 0 (I'm assuming this is because PhoneGap is working off of the file system on the device). By adding xhr.status == 200 || xhr.status == 0 I was able to get the demo app working with PhoneGap flawlessly.
I'm guessing this was a specific design decision but wanted to ask here about the ramifications of adding support for status 0 to the project so PhoneGap would work out of the box.
=Ryan