I have created small dynamic page using jQuery. I passed data via query string http://localhost/website-new/category.html?id=19 but I want to do not come html extension because id is dynamically changing(ex:19,20,21) so I want structure of this url format http://localhost/website-new/category/19. Is possible in JQuery?
index.html:
async function New_Stores() {
const newStores = await fetch('https://znap.app/api/v6/web/homepage', {
method: 'POST',
body: JSON.stringify({
title: "React POST Request Example"
}),
headers: {
"Content-Type": "application/json"
},
})
const store_home = await newStores.json();
const storeHome = store_home.sections.new_stores;
console.log(storeHome)
var htmlOutput = "";
var orderInfo = storeHome.map(function (x) {
htmlOutput += "<div class='col-md-3' ><a href='category.html?id=" + x.store_id + "'><div class='bg-info'>";
htmlOutput += "<img src=" + x.logo + " class='img-fluid'/>";
htmlOutput += "<h2>" + x.store_name + "</h2>";
htmlOutput += "<p> Sample </p>";
htmlOutput += "<p>Upto AED " + x.cashback + "</p>";
htmlOutput += "</div></a></div>";
});
$("#what-new").append(htmlOutput);
}
New_Stores();
category.html:
$(document).ready(function() {
// Get Query String value id start
function getUrlParameter(attr) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === attr) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
}
// Get Query String value id end
var catgoryId = getUrlParameter("id");
var catgoryIds = {
"category_id": catgoryId
};
var data_id = JSON.stringify(catgoryIds);
// alert(data_id)
$.ajax({
type: 'POST',
url: 'https://znap.app/api/v6/web/category-details',
dataType: 'json',
data: data_id,
contentType: 'application/json; charset=utf-8',
success: function(callback) {
var cat_page=callback.sections.category;
var storeList=callback.sections.store_list;
var store_li="";
var store_li_map=storeList.map(function(x){
store_li+="<div class='boxs col-md-3 col-6' id='boxs-related'><div class='bg-info'> <img src="+x.store_images+" class='relatedImg'/>";
store_li+="<p><span class='pull-left'>"+x.store_name+"</span><span class='pull-right'><i class'fa fa-star checked'></i><i class'fa fa-star checked'></i><i class'fa fa-star checked'></i><i class'fa fa-star'></i><i class'fa fa-star'></i></span></p>";
store_li+="<div class='summary'>"+x.store_summary+"</div>";
store_li+="<p class='category-deal'><span class=''><img src='images/deal.png'></span><span>"+x.store_offer+"</span></p></div></div>";
});
$('.cat-head h1').html(callback.sections.category.category_name);
$('#related-store').html(store_li);
$("#related-store .col-md-3").slice(0, 4).show();
if(storeList.length<4){
$(".category-more").hide();
}
}
});
});