all. I am using a jquery version 1.6.2. I do a ajax call like this:
var jqxhr = $j.post(myPHP, function() {
alert(\"success\");
})
For me this problem was caused by a cross-domain issue.
So I had a local html file (c:\test.html
) and tried to get data from a server (localhost/servlet).
When putting html on the server - the problem was gone.
In my case, it was not due to Cross domain. I was not using e.PreventDefault(). See here
If the browser switches the web page while an XHR request is still in progress (the user clicked a link, the back button, …), this XHR request will be cancelled with exactly your error.
Have a look at the following blog post, where the issue is explained in depth: http://bartwullems.blogspot.de/2012/02/ajax-request-returns-status-0.html
You forgot to tell jQuery that the server is returning JSON:
var jqxhr = $j.post(myPHP, function() {
alert("success");
}, "json") // here
.success(function() { alert("second success"); })
.error(function(data) { alert(JSON.stringify(data)); })
.complete(function() { alert("complete"); });