I am trying to parse json array using json.parse(rawdata); I have printed out console logs still nothing.
Also, the showstring method isn't working either not sure why, it's not even throwing nay errors in the console.
For the showxmlfilms that one works, but shows the entire table and I would like to show just one film instead of all the films, when user inputs id.
Note Erro is n line 144.
What I have tried:
I have created json array and sending that using foor loop, but still comes up with the same error each time.
Error is on, JSON.parse(rawData);
function getFilmsTable(rows) {
var headings =
[ "id", "title", "year", "director", "stars", "review" ];
return(getTable(headings, rows));
}
function xmlFilmsTableresult(resultRegion, field1, field2) {
var address = "show-films";
var data = makeParamString(field1, field2, "xml");
ajaxPost(address, data,
function(request) {
showXmlFilmsInfo(request, resultRegion);
});
}
$(document).ready(function() {
$("#btnXmlFilmsTable").click(function() {
var address = "http://localhost:8080/Control?format=xml";
var data = "";
$.ajax({
url: address,
success: function(data) {
showXmlFilmsInfo(data);
}
});
});
});
function showXmlFilmsInfo(request) {
if (request!=null) {
var xmlDocument = request;
var films = xmlDocument.getElementsByTagName("film");
var rows = new Array();
for(var i=0; i<films.length; i++) {
var film = films[i];
var subElements = [ "id", "title", "year", "director", "stars", "review" ];
rows[i] = getElementValues(film, subElements);
}
var table = getFilmsTable(rows);
$("#xml-films-table").html(table);
}
}
function jsonFilmsTableresult(resultRegion, field1, field2) {
var address = "show-films";
var data = makeParamString(field1, field2, "json");
ajaxPost(address, data,
function(request) {
showJsonFilmsInfo(request, resultRegion);
});
}
$(document).ready(function() {
$("#btnJsonFilmsTable").click(function() {
var address = "http://localhost:8080/Control?format=json";
var data = "";
$.ajax({
url: address,
success: function(data) {
showJsonFilmsInfo(data);
}
});
});
});
function showJsonFilmsInfo(request) {
if (request!=null) {
var rawData = request;
console.log(rawData);
JSON.parse(rawData);
console.log(rawData);
var rows = new Array();
for(var i=0; i<rawData.length; i++) {
var rawData = rawData[i];
var subElements = [ "id", "title", "year", "director", "stars", "review" ];
rows[i] = getElementValues(rawData, subElements);
}
var rows = new Array();
for(var i=0; i<films.length; i++) {
var film = films[i];
var subElements = [ "id", "title", "year", "director", "stars", "review" ];
rows[i] = getElementValues(film, subElements);
}
var table = getFilmsTable(rows);
$("#json-films-table").html(table);
}
}
function stringFilmsTableresult(resultRegion, field1, field2) {
var address = "show-films";
var data = makeParamString(field1, field2, "string");
ajaxPost(address, data,
function(request) {
showStringFilmsInfo(request, resultRegion);
});
}
$(document).ready(function() {
$("#btnStringFilmsTable").click(function() {
var address = "http://localhost:8080/Control?format=string";
var data = "";
$.ajax({
url: address,
success: function(data) {
showStringFilmsInfo(data);
}
});
});
});
function showStringFilmsInfo(request) {
if ((request.readyState == 4) &&
(request.status == 200)) {
var rawData = request.responseText;
var film = rawData.split(/\n+/);
var rows = new Array();
for(var i=0; i<films.length; i++) {
if (films[i].length > 1) {
rows.push(films[i].split("#"));
}
}
var table = getFilmsTable(rows);
$("#string-films-table").html(table);
}
}
[ "id", "title", "year", "director", "stars", "review" ]
function filmsTable(filmTypeField, formatField, resultRegion) {
var address = "show-films";
var filmid = getValue(filmTypeField);
var filmtitle = getValue(filmTypeField);
var filmyear = getValue(filmTypeField);
var filmdirector = getValue(filmTypeField);
var filmstars = getValue(filmTypeField);
var filmreview = getValue(filmTypeField);
var format = getValue(formatField);
var data = "filmid=" + filmid +
"filmtitle=" + filmtitle +
"filmyear=" + filmyear +
"filmdirector=" + filmdirector +
"filmstars=" + filmstars +
"filmreview=" + filmreview +
"&format=" + format;
var responseHandler = findHandler(format);
ajaxPost(address, data,
function(request) {
responseHandler(request, resultRegion);
});
}
function findHandler(format) {
if (format == "xml") {
return(showXmlFilmsInfo);
} else if (format == "json") {
return(showJsonFilmsInfo);
} else {
return(showStringFilmsInfo);
}
}