When an AJAX request is submitted to a site, server-side errors are easily handled with the jQuery promise approach. .done()
, .fail()
, etc. However for some requests (e.g. to an invalid site or one that doesn't accept cross-origin requests), an exception occurs immediately as the call is made. Here's an example of one error in the console:
XMLHttpRequest cannot load
http://someotherserver/api/blahblah
. Originhttp://localhost:52625
is not allowed by Access-Control-Allow-Origin.
Yes, I know about CORS...that's not the issue. What I'm actually doing is trying a web api call to test if the server IP/name is correct
I'm aware of the error
option in the jQuery request syntax:
$.ajax({
url: remoteURL,
type: 'GET',
error: function (err) {
console.log("AJAX error in request: " + JSON.stringify(err, null, 2));
}
}).etc.etc.
The error is handled here, but exceptions are still logged in the console. It seemed reasonable to wrap the above in a try-catch
block, but that doesn't seem to help.
I've found this question, but the solution involves hacking the jQuery code. Surely there's a better way to catch these errors and not clog up the console logs??
You can use web developer console in google chrome. Press F12. And use Networks tab for checking response, And for JavaSvript and jQuery and Ajax errors you can use Console tab. :)
Try this by adding to your ajax function :
try this:
XHR Listener: