I keep getting an error when I run the javascript below in Firebug. I've tried changing multiple things and it still outputs the error. I am working with an api to retrieve information from the XML and then output it onto the screen but I keep getting an object error. Can someone see why?? Any help is appreciated!
$(document).ready(function() {
$('#searchbtn').bind('click' || 'enter',function(e) {
if ($.trim($('#searchBox').val()) !== '') {
$('#videos').append('<img src="img/loading.gif" alt="loading" class="loading" />');
getVideos(e);
}
});
});
function getVideos(e) {
e.preventDefault();
var text = 'text='+$('#searchBox').val();
$.ajax({
url: 'getVideos.php',
dataType: 'xml',
type: 'POST',
data: text,
success: function(data) {
$('#videos').append("<h1>The following events match your search!</h1>");
var xmlString = data;
if ($(xmlString).find('feed').children('entry').length == 0) {
$('#videos').append('<p class="noResults">Sorry, no results for you! Try searching again!</p>');
} else {
var videoTitle = [];
$(xmlString).find('title').each(function()
{
videoTitle.push($(this).text()) });
$('#videos').append('<ul>');
$(xmlString).find('entry').each(function(i) {
if (i == '40') {
return(false);
}
var vidInfo = '';
vidInfo += "<p>"+videoTitle[i]+"</p>";
$('#videos ul').append('<li>'+vidInfo+'</li>');
});
}
},
error: function(data) {
console.log('Error: ' + data);
}
})
};
To fix this, you can use the JSON. stringify() method to change the object into a string that can be popped up in the browser using the alert() method.
To check if a variable is of type Error , use the instanceof operator - err instanceof Error . The instanceof operator returns true if the prototype property of a constructor appears in the prototype chain of the object. Copied! In this example we used the Error constructor to create a new error object.
There are 7 types of JavaScript errors: Syntax error, Reference Error, Type Error, Evaluation Error, RangeError, URI Error and Internal Error. Errors in Javascript can be handled using the try... catch... finally construct as well as the throw operator.
The Object type represents one of JavaScript's data types. It is used to store various keyed collections and more complex entities. Objects can be created using the Object() constructor or the object initializer / literal syntax.
When you append an object to a string, it gets its toString
method called, which for a plain object just gives the infamous "[object Object]". To log an object, you should just pass it straight into the console.log
function as an argument, like so:
console.log('Error:', data);
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