JS code:
$.ajax({
type: 'POST',
url: 'http://localhost/MyServiceDir/Service.asmx/Foo',
contentType: 'application/json; charset=utf-8',
data: jsonData,
success: function (msg) {
alert("good");
},
error: function (xhr, status) {
switch (status) {
case 404:
alert('File not found');
break;
case 500:
alert('Server error');
break;
case 0:
alert('Request aborted');
break;
default:
alert('Unknown error ' + status);
}
}
});
I get "unknown error error". How do I get to the bottom of this? I would like to know what the error actually is. Thanks!
In your page press f12 in mozilla and firebug will open. so by going in response and html you can see which response you are getting after your ajax call.
It's very difficult to debug an AJAX request using the jQuery's shorthand AJAX methods because these methods don't give you a full control over the request.
The "status" parameter only includes why it failed -- timeout, error, etc... To get the status code you need to check the response object: xhr.status
See http://www.w3.org/TR/XMLHttpRequest/#response for details.
If you are getting "500 Internal Server Error" that is all you are going to get from ajax. You will have to check your application or server logs. This could be a syntax error or or library error or something else along those lines.
Check xhr.status
.
Try this out in the onerror event:
alert(xhr.statusText)
EDIT:
I think your best bet here would be to install the FireBug Plugin on Firefox. This will allow you to see the ajax calls(enable "console" tab for this), responses, and error messages. Hopefully you will be able to get the info you need in this manner. This has been always been my method of choice for debugging ajax calls
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With