Definisjon av klasser brukt for JSON-kall
public class PRODUCT_GROUP
{
public string name;
public List<PRODUCT> productlist;
}
public class PRODUCTT_GROUP_DETAILS
{
public string name;
public List<PRODUCT_DETAIL_OBJECT> productlist;
}
public class PRODUCT
{
public string id;
public string article_nr;
public string name;
public string product_category_code;
public string product_category_name;
}
public class PRODUCT_DETAIL_OBJECT:PRODUCT
{
public string imageurl;
public string producturl;
public string subtitle;
}
Test av JSON-kall
function test_GET_PRODUCT_INDEX() {
$("div.jsondata").empty();
$("<p>Working...</p>").appendTo("div.jsondata");
$.ajax({
type: "POST",
contentType: "application/json",
url: "GET_PRODUCT_INDEX.ashx",
data: "{}",
dataType: "json",
success: function (data) {
var items = [];
alert(data);
items.push("<tr><th>id</th><th>article_nr</th><th>name</th><th>product_category_name</th></tr>");
$.each(data, function (key, val) {
items.push("<tr id='" + key + "'><td>Varegruppe" +
"</td><td>" +
"</td><td>" + data[key].name +
"</td><td></td></tr>");
var productlist = data[key].productlist;
$.each(productlist, function (key2, val2) {
items.push("<tr id='" + key2 + "'><td>" + productlist[key2].id +
"</td><td>" + productlist[key2].article_nr +
"</td><td>" + productlist[key2].name +
"</td><td>" + productlist[key2].product_category_name + "</td></tr>");
});
});
$("div.jsondata").empty();
$("<table/>", {
"class": "my-new-list",
html: items.join("")
}).appendTo("div.jsondata");
$("</pre>").appendTo("div.jsondata");
}
});
}
function test_GET_PRODUCT_DETAILS() {
$("div.jsondata").empty();
$.ajax({
type: "POST",
contentType: "application/json",
url: "GET_PRODUCT_DETAILS.ashx",
data: '["0200101","0200102","0200103","0200121","0200122","0200123","0200128"]',
dataType: "json",
success: function (data2) {
var items = [];
items.push("<tr><th>id</th><th>producturl</th><th>imageurl</th><th>article_nr</th><th>name</th><th>product_category_name </th></tr>");
$.each(data2, function (key, val) {
items.push("<tr id='" + key + "'><td colspan='6'>" + data2[key].name + "</td></tr>");
var productlist = data2[key].productlist;
$.each(productlist, function (key2, val2) {
items.push("<tr id='" + key2 + "'><td>" + productlist[key2].id +
"</td><td>" + productlist[key2].producturl +
"</td><td>" + productlist[key2].imageurl +
"</td><td>" + productlist[key2].article_nr +
"</td><td>" + productlist[key2].name +
"</td><td>" + productlist[key2].product_category_name + "</td></tr>");
});
});
$("<table/>", {
"class": "my-new-list",
html: items.join("")
}).appendTo("div.jsondata");
}
});
}
function test_GET_SEARCH(searcstr) {
$("div.jsondata").empty();
$.ajax({
type: "POST",
contentType: "application/json",
url: "GET_SEARCH.ashx?s=" + searcstr,
data: '["0200101","0200102","0200103","0200121","0200122","0200123","0200128"]',
dataType: "json",
success: function (data2) {
var items = [];
items.push("<tr><th>id</th><th>producturl</th><th>imageurl</th><th>article_nr</th><th>name</th><th>product_category_name </th></tr>");
$.each(data2, function (key, val) {
items.push("<tr id='" + key + "'><td colspan='6'>" + data2[key].name + "</td></tr>");
var productlist = data2[key].productlist;
$.each(productlist, function (key2, val2) {
items.push("<tr id='" + key2 + "'><td>" + productlist[key2].id +
"</td><td>" + productlist[key2].producturl +
"</td><td>" + productlist[key2].imageurl +
"</td><td>" + productlist[key2].article_nr +
"</td><td>" + productlist[key2].name +
"</td><td>" + productlist[key2].product_category_name + "</td></tr>");
});
});
$("<table/>", {
"class": "my-new-list",
html: items.join("")
}).appendTo("div.jsondata");
}
});
}