Rewrite your function as
function updateProduct(typeopts){
$.ajax({
type: "POST",
url: "include/submit.php",
dataType : 'json',
data: {filterTypeOpts: typeopts,child: 179},
cache: false,
success: function(data){
$('#disp').html(makeTable(data));
}
error: function(err){
$("#error_window").html(err.responseText);
}
});
}
Also make a div with id error_window; This will help you to understand, what went wrong
finally
echo $typeopts = isset($_POST['filterTypeOpts'])? $_POST['filterTypeOpts'] : array('');
Another possible error you would face is, you are echoing or printing non JSON text. Even if your php works properly and your server response with status code 200 but yet your JQuery will through the result in error status.