web lab programs_2024
web lab programs_2024
1. Develop the HTML page named as “Myfirstwebpage.html”. Add the following tags with relevant
content. Set the title of the page as “My First Web Page” Within the body use the following tags:
c) Paragraph
d) Horizontal line
e) Line Break
f) Block Quote
g) Pre tag
PROGRAM:
<!DOCTYPE html>
<head>
</head>
<body>
<marquee>Welcome to vtucode</marquee>
<h1>This is an H1 heading</h1>
<h2>This is an H2 heading</h2>
<h3>This is an H3 heading</h3>
<h4>This is an H4 heading</h4>
<h5>This is an H5 heading</h5>
<h6>This is an H6 heading</h6>
<hr>
<p>This is a line of text before the break.<br>This is a line of text after the break.</p>
<blockquote>
</blockquote>
<pre>
</pre>
<!-- Different Logical Style tags -->
</body>
</html>
BCSL504 Program 2
2. Develop the HTML page named as “Table.html” to display your class time table.
a) Provide the title as Time Table with table header and table footer, row-span and col-span etc.
b) Provide various colour options to the cells (Highlight the lab hours and elective hours with different
colors.)
PROGRAM:
<!DOCTYPE html>
<head>
<style>
body {
table {
width: 80%;
border-collapse: collapse;
th,
td {
padding: 8px;
text-align: center;
}
th {
background-color: #f4f4f4;
color: #333;
tr:nth-child(even) {
background-color: #f9f9f9;
tr:nth-child(odd) {
background-color: #e6f7ff;
.lab-hour {
background-color: #ffcccc;
.elective-hour {
background-color: #ccffcc;
.highlight {
font-weight: bold;
color: #d63384;
}
tfoot {
background-color: #e0e0e0;
font-weight: bold;
</style>
</head>
<body>
<table>
<thead>
<tr>
<th>Day/Time</th>
<th>9:00 - 10:00</th>
<th>10:00 - 11:00</th>
<th>11:00 - 12:00</th>
<th>12:00 - 1:00</th>
<th>Lunch Break</th>
<th>2:00 - 3:00</th>
<th>3:00 - 4:00</th>
</tr>
</thead>
<tbody>
<tr>
<td>Monday</td>
<td>Math</td>
<td>English</td>
<td>Elective</td>
<td class="elective-hour">Elective</td>
<td>History</td>
</tr>
<tr>
<td>Tuesday</td>
<td class="elective-hour">Elective</td>
<td>Biology</td>
<td>Math</td>
<td>Geography</td>
<td>PE</td>
</tr>
<tr>
<td>Wednesday</td>
<td>History</td>
<td>English</td>
<td>Math</td>
<td>Physics</td>
<td class="elective-hour">Elective</td>
</tr>
<tr>
<td>Thursday</td>
<td>PE</td>
<td>History</td>
<td>Geography</td>
<td class="elective-hour">Elective</td>
<td>Biology</td>
<td>Math</td>
</tr>
<tr>
<td>Friday</td>
<td>Math</td>
<td>English</td>
<td>Physics</td>
<td class="elective-hour">Elective</td>
<td>Chemistry</td>
</tr>
</tbody>
<tfoot>
<tr>
</tr>
</tfoot>
</table>
</body>
</html>
BCSL504 Program 3
3. Develop an external style sheet named as “style.css” and provide different styles for h2, h3, hr, p, div,
span, time, img & a tags. Apply different CSS selectors for tags and demonstrate the significance of each.
PROGRAM:
<!DOCTYPE html>
<head>
</head>
<body>
<h2>Main Heading</h2>
<h3>Subheading</h3>
<hr>
<div>
This is a styled <strong>div</strong> element with padding and a light border. Inside the div, we can
also use
<span>span elements</span> that have their own styles, like this bold and orange text.
</div>
<img src="https://vtucode.in/wp-content/uploads/2024/08/Web-Technology-Lab.jpg"
alt="Placeholder Image">
</body>
</html>
style.CSS
*{
margin: 0;
padding: 0;
box-sizing: border-box;
h2 {
color: #2c3e50;
font-size: 2em;
margin-bottom: 10px;
h3 {
color: #34495e;
font-size: 1.5em;
margin-bottom: 8px;
hr {
border: 0;
height: 2px;
background-color: #e74c3c;
margin: 20px 0;
p{
line-height: 1.6;
margin: 10px 0;
div {
padding: 15px;
background-color: #ecf0f1;
span {
color: #e67e22;
font-weight: bold;
time::before {
color: #16a085;
img {
margin-left: 15px;
height: 300px;
width: 400px;
border-radius: 8px;
max-width: 100%;
a{
text-decoration: none;
color: #ea0e4c;
a:hover {
color: #6200ee;
text-decoration: underline;
.highlight {
background-color: yellow;
padding: 3px;
.center {
text-align: center;
#special-paragraph {
font-size: 1.2em;
color: #8e44ad;
background-color: #f5f5f5;
padding: 10px;
}
h2,
h3,
p{
margin-left: 20px;
BCSL504 Program 4
4. Develop HTML page named as “registration.html” having variety of HTML input elements with
background colors, table for alignment & provide font colors & size using CSS styles.
<!DOCTYPE html>
<head>
<style>
body {
background-color: #f0f4f8;
margin: 0;
padding: 20px;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
.container {
width: 100%;
max-width: 600px;
background-color: #fff;
padding: 20px;
border-radius: 8px;
display: flex;
flex-direction: column;
gap: 20px;
h2 {
text-align: center;
color: #333;
margin: 0;
.form-group {
display: flex;
flex-direction: column;
gap: 5px;
margin-bottom: 10px;
label {
font-size: 14px;
color: #555;
input[type="text"],
input[type="email"],
input[type="password"],
input[type="date"],
select,
textarea {
padding: 10px;
border-radius: 4px;
font-size: 14px;
.gender-options {
display: flex;
gap: 10px;
align-items: center;
input[type="submit"],
input[type="reset"] {
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
flex: 1;
}
.button-group {
display: flex;
gap: 10px;
justify-content: center;
input[type="submit"] {
background-color: #4CAF50;
color: white;
input[type="reset"] {
background-color: #f44336;
color: white;
.form-group textarea {
margin-bottom: 10px;
</style>
</head>
<body>
<div class="container">
<div class="form-group">
<label for="firstName">First Name:</label>
</div>
<div class="form-group">
</div>
<div class="form-group">
<label for="email">Email:</label>
</div>
<div class="form-group">
<label for="password">Password:</label>
</div>
<div class="form-group">
</div>
<div class="form-group">
<label>Gender:</label>
<div class="gender-options">
<label for="male">Male</label>
</div>
</div>
<div class="form-group">
<label for="country">Country:</label>
<option value="usa">USA</option>
<option value="canada">Canada</option>
<option value="uk">UK</option>
<option value="india">India</option>
</select>
</div>
<div class="form-group">
<label for="bio">Bio:</label>
</div>
<div class="button-group">
</div>
</form>
</div>
</body>
</html>
CSL504 Program 5
5. Develop HTML page named as “newpaper.html” having variety of HTML semantic elements with
background colors, text-colors & size for figure, table, aside, section, article, header, footer… etc.
<!DOCTYPE html>
<head>
<style>
*{
margin: 0;
padding: 0;
box-sizing: border-box;
body {
padding: 20px;
color: #000000;
display: flex;
flex-direction: column;
min-height: 100vh;
header {
margin-bottom: 30px;
border-radius: 10px;
align-items: center;
background-color: #7b38f7;
color: #fff;
padding: 20px;
display: flex;
justify-content: space-between;
text-align: center;
header a {
font-size: 25px;
font-weight: 600;
color: #fff;
text-decoration: none;
nav {
display: flex;
gap: 20px;
color: #fff;
text-align: center;
nav a {
font-size: 18px;
color: #fff;
text-decoration: none;
font-weight: bold;
nav a:hover {
text-decoration: underline;
.content {
display: flex;
justify-content: space-between;
flex: 1;
margin: auto;
padding: 20px 0;
gap: 20px;
position: relative;
.main-content {
cursor: pointer;
flex: 1;
display: grid;
background-color: #fff;
border-radius: 12px;
padding: 25px;
box-shadow: rgba(9, 30, 66, 0.25) 0px 1px 1px, rgba(9, 30, 66, 0.13) 0px 0px 1px 1px;
aside {
padding: 20px;
width: 350px;
border-radius: 8px;
position: -webkit-sticky;
position: sticky;
top: 20px;
color: #333;
right: 0;
margin-left: 20px;
.related-news h3 {
text-align: center;
border-radius: 7px;
padding: 8px;
background: #000;
color: #ffffff;
font-size: 1.4em;
margin-bottom: 15px;
.related-news ul {
list-style: outside;
padding: 7px;
margin: 0;
.related-news li {
margin-bottom: 12px;
.related-news a {
text-decoration: none;
color: #7b38f7;
font-weight: bold;
.related-news a:hover {
text-decoration: underline;
footer {
border-radius: 10px;
background-color: #7b38f7;
color: #fff;
padding: 20px;
font-weight: 500;
text-align: center;
margin-top: auto;
font-size: 18px;
article {
background-color: #fff;
padding: 15px;
box-shadow: rgba(9, 30, 66, 0.25) 0px 1px 1px, rgba(9, 30, 66, 0.13) 0px 0px 1px 1px;
border-radius: 7px;
color: #000000;
figure {
background-color: #fafafa;
padding: 10px;
border: 1px solid #ddd;
border-radius: 8px;
text-align: center;
margin: 0;
figcaption {
font-size: 0.9em;
color: #666;
img {
max-width: 100%;
height: auto;
border-radius: 8px;
section {
padding: 20px;
width: 100%;
background-color: #fff;
border-radius: 8px;
box-shadow: rgba(9, 30, 66, 0.25) 0px 1px 1px, rgba(9, 30, 66, 0.13) 0px 0px 1px 1px;
section h2 {
color: #fff;
background: #000;
font-size: 24px;
border-radius: 10px;
text-align: center;
padding: 10px;
margin-bottom: 30px;
table {
width: 100%;
border-collapse: collapse;
caption {
font-size: 18px;
margin-bottom: 10px;
color: #555;
thead {
background-color: #007BFF;
color: #fff;
}
th,
td {
padding: 12px;
text-align: left;
th {
font-weight: bold;
tbody tr:nth-child(even) {
background-color: #f9f9f9;
tbody tr:hover {
background-color: #eaeaea;
th,
td {
padding: 8px;
font-size: 14px;
}
}
caption {
background-color: #d9d9d9;
padding: 10px;
font-weight: bold;
font-size: 1.1em;
color: #333;
section {
margin-top: 40px;
margin-bottom: 50px;
article h2 {
color: #7b38f7;
font-size: 1.3em;
margin-bottom: 12px;
article p {
text-align: left;
line-height: 1.2;
margin-top: 10px;
article:hover {
background-color: #e7ddfb;
.content {
flex-direction: column;
padding: 10px;
aside {
width: 100%;
margin-top: 20px;
position: static;
margin-left: 0;
.main-content {
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<header>
<a href="#">Newspaper</a>
<nav>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Services</a>
<a href="#">Marketing</a>
<a href="#">Updates</a>
</nav>
</header>
<div class="content">
<main class="main-content">
<article>
<figure>
<img src="https://via.placeholder.com/600x400" alt="Placeholder Image">
<figcaption>Image Caption</figcaption>
</figure>
<p>This is the content of the first article. Lorem ipsum dolor sit amet, consectetur adipiscing
elit.
</article>
<article>
<figure>
<figcaption>Image Caption</figcaption>
</figure>
<p>This is the content of the second article. Lorem ipsum dolor sit amet, consectetur adipiscing
elit.
</article>
<article>
<figure>
<figcaption>Image Caption</figcaption>
</figure>
<p>This is the content of the third article. Lorem ipsum dolor sit amet, consectetur adipiscing
elit.
Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</article>
<article>
<figure>
<figcaption>Image Caption</figcaption>
</figure>
<p>This is the content of the fourth article. Lorem ipsum dolor sit amet, consectetur adipiscing
elit.
</article>
<article>
<figure>
<figcaption>Image Caption</figcaption>
</figure>
<p>This is the content of the fourth article. Lorem ipsum dolor sit amet, consectetur adipiscing
elit.
</article>
<article>
<figure>
<figcaption>Image Caption</figcaption>
</figure>
<p>This is the content of the fourth article. Lorem ipsum dolor sit amet, consectetur adipiscing
elit.
</article>
</main>
<aside class="related-news">
<h3>Related News</h3>
<ul>
</ul>
</aside>
</div>
<section>
<h2>Recent Posts</h2>
<div>
<table>
<caption>List of Posts</caption>
<thead>
<tr>
<th>Post Title</th>
<th>Date</th>
<th>Author</th>
</tr>
</thead>
<tbody>
<tr>
<td>Post 1</td>
<td>2024-08-30</td>
<td>Author 1</td>
</tr>
<tr>
<td>Post 2</td>
<td>2024-08-29</td>
<td>Author 2</td>
</tr>
<tr>
<td>Post 3</td>
<td>2024-08-28</td>
<td>Author 3</td>
</tr>
</tbody>
</table>
</div>
</section>
<footer>
</footer>
</body>
</html>
BCSL504 Program 6
6. Apply HTML, CSS and JavaScript to design a simple calculator to perform the following operations:
sum, product, difference, remainder, quotient, power, square-root and square.
<!DOCTYPE html>
<head>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
.calculator {
background: #fff;
padding: 20px;
border-radius: 12px;
width: 320px;
text-align: center;
h1 {
border-radius: 8px;
background: #000;
font-size: 24px;
padding: 10px;
color: #ffffff;
margin-bottom: 30px;
input,
select,
button {
width: 100%;
margin: 10px 0;
padding: 12px;
border-radius: 8px;
font-size: 16px;
box-sizing: border-box;
#operation {
cursor: pointer;
}
input:focus,
select:focus,
button:focus {
outline: none;
border-color: #007bff;
option {
background-color: #fff;
color: #000;
padding: 10px;
border: none;
option:hover {
background-color: #f1f1f1;
button {
background-color: #007bff;
color: white;
border: none;
cursor: pointer;
font-size: 18px;
button:hover {
button:focus {
#result.error {
background: #ffdddd;
border-color: #ff0000;
#result.success {
font-size: 17px;
font-weight: 500;
color: #000;
background: #6ef08d38;
border-color: #47e56d;
}
#result {
font-size: 18px;
color: #000000;
border-radius: 8px;
background: #afffe2;
opacity: 0;
transform: translateY(-20px);
#result.show {
cursor: not-allowed;
opacity: 1;
margin-top: 20px;
padding: 15px;
transform: translateY(0);
</style>
</head>
<body>
<div class="calculator">
<h1>Simple Calculator</h1>
<form id="calculator-form">
<option value="sum">Sum</option>
<option value="product">Product</option>
<option value="difference">Difference</option>
<option value="remainder">Remainder</option>
<option value="quotient">Quotient</option>
<option value="power">Power</option>
<option value="square">Square</option>
</select>
</form>
<div id="result"></div>
</div>
<script>
function calculate() {
if (isNaN(num1) || isNaN(num2)) {
resultClass = 'error';
} else {
switch (operation) {
case 'sum':
break;
case 'product':
break;
case 'difference':
break;
case 'remainder':
break;
case 'quotient':
if (num2 === 0) {
} else {
break;
case 'power':
break;
case 'sqrt':
resultClass = 'error';
} else {
break;
case 'square':
break;
default:
resultClass = 'error';
}
const resultDiv = document.getElementById('result');
resultDiv.innerHTML = result;
resultDiv.classList.add(resultClass, 'show');
</script>
</body>
</html>
BCSL504 Program 7
7. Develop JavaScript program (with HTML/CSS) for:
<!DOCTYPE html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
<style>
*{
padding: 0;
margin: 0;
box-sizing: border-box;
body {
color: #000000;
.container {
width: 60%;
margin: 0 auto;
padding: 20px;
.head-title h1 {
font-size: 28px;
padding: 10px;
color: #fff;
margin-bottom: 50px;
.head-title {
width: 100%;
background: #000;
text-align: center;
border-radius: 10px;
.section {
margin-bottom: 40px;
padding: 20px;
border-radius: 8px;
background: #fff;
box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
.section h2 {
color: #000000;
font-size: 20px;
margin-bottom: 15px;
textarea {
font-size: 14px;
width: 100%;
height: 120px;
margin-bottom: 15px;
padding: 12px;
border-radius: 8px;
box-sizing: border-box;
textarea:focus {
background: transparent;
outline: none;
input[type="text"] {
padding: 12px;
border-radius: 8px;
box-sizing: border-box;
margin-bottom: 15px;
input[type="text"]:focus {
border-color: #007BFF;
outline: none;
button {
display: inline-block;
margin: 10px 0;
font-weight: 600;
border: none;
border-radius: 7px;
background-color: #007BFF;
color: #fff;
cursor: pointer;
font-size: 16px;
button:hover {
button:focus {
pre {
display: none;
background: #f8f9fa;
padding: 15px;
border-radius: 8px;
overflow: auto;
transition: opacity 0.3s ease;
.error {
margin-top: 10px;
font-size: 14px;
color: #000;
background: #ffdddd;
border-color: #ff0000;
padding: 10px;
.success {
margin-top: 10px;
font-size: 14px;
color: #000;
background: #6ef08d38;
border-color: #47e56d;
padding: 10px;
.adjust-area {
margin-top: 30px;
</style>
</head>
<body>
<div class="container">
<div class="head-title">
<h1>Simple Converter</h1>
</div>
<div class="section">
</div>
<div class="section">
</div>
<div class="section">
</div>
<div class="section">
</div>
</div>
<script>
element.textContent = text;
element.style.display = 'block';
element.style.opacity = '1';
function convertJsonToObject() {
} catch (error) {
function convertJsonToDate() {
try {
} else {
} catch (error) {
function convertJsonToCsv() {
const csv = [
keys.join(','),
].join('\n');
} else {
} catch (error) {
function convertCsvToJson() {
try {
if (lines.length > 1) {
if (keys.length > 0) {
obj[key] = values[index];
return obj;
}, {});
});
} else {
} else {
} catch (error) {
function createHash() {
if (hashInput.length > 0) {
} else {
</script>
</body>
</html>
8a. Develop a PHP program (with HTML/CSS) to keep track of the number of visitors visiting the web
page and to display this count of visitors, with relevant headings.
Instructions: How to Run?
Create a file name called track.php, copy the below code and paste it and save it.
Copy track.php file and open XAAMP directory if installed else install it click here
After then open your XAAMP and start the Apache server.
Open your favorite browser; we recommend using Google Chrome or Mozilla Firefox.
<?php
$counterFile = "counter.txt";
if (!file_exists($counterFile)) {
file_put_contents($counterFile, "0");
$currentCount = file_get_contents($counterFile);
$newCount = $currentCount + 1;
file_put_contents($counterFile, $newCount);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<style>
body {
text-align: center;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
justify-content: center;
height: 100vh;
background-color: #f4f4f9;
color: #333;
.container {
background: #fff;
padding: 20px;
border-radius: 8px;
margin: 0 auto;
width: 60%;
h1 {
font-size: 2.5em;
margin: 0;
p{
font-size: 1.2em;
color: #555;
</style>
</head>
<body>
<div class="container">
</div>
</body>
</html>
BCSL504 Program 8B
8b. Develop a PHP program (with HTML/CSS) to sort the student records which are stored in the
database using selection sort.
Create a database name called students or download and import click here
Create a file name called sort_students.php, copy the below code and paste it and save it.
Copy sort_students.php file and open XAAMP directory if installed else install it click here
After then open your XAAMP and start the Apache server.
Open your favorite browser; we recommend using Google Chrome or Mozilla Firefox.
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "students";
if ($conn->connect_error) {
$students = [];
if ($result->num_rows > 0) {
$students[] = $row;
$n = count($arr);
$minIndex = $i;
$minIndex = $j;
$temp = $arr[$i];
$arr[$i] = $arr[$minIndex];
$arr[$minIndex] = $temp;
}
selectionSort($students, 'name');
?>
<!DOCTYPE html>
<head>
<style>
body {
background-color: #f0f2f5;
color: #333;
margin: 0;
padding: 20px;
h2 {
text-align: center;
color: #4A90E2;
margin-bottom: 20px;
table {
width: 100%;
border-collapse: collapse;
background-color: #fff;
border-radius: 10px;
overflow: hidden;
margin: 0 auto;
th,
td {
text-align: left;
th {
background-color: #4A90E2;
color: white;
text-transform: uppercase;
letter-spacing: 0.03em;
tr {
}
tr:hover {
background-color: #f1f1f1;
td {
font-size: 0.9em;
color: #555;
table,
th,
td {
display: block;
width: 100%;
th,
td {
box-sizing: border-box;
tr {
margin-bottom: 15px;
display: block;
th {
position: absolute;
top: -9999px;
left: -9999px;
td {
border: none;
position: relative;
padding-left: 50%;
text-align: right;
td:before {
content: attr(data-label);
position: absolute;
left: 0;
width: 50%;
padding-left: 15px;
font-weight: bold;
text-align: left;
text-transform: uppercase;
color: #4A90E2;
</style>
</head>
<body>
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>USN</th>
<th>Branch</th>
<th>Email</th>
<th>Address</th>
</tr>
</thead>
<tbody>
</tr>
</tbody>
</table>
</body>
</html>
BCSL504 Program 9
a. Appends the content at the end of the existing paragraph and list.
b. Change the state of the element with CSS style using animate() method.
<!DOCTYPE html>
<head>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style>
body {
background-color: #f4f7f6;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
.container {
text-align: center;
background: #fff;
padding: 30px;
border-radius: 12px;
.container:hover {
transform: scale(1.02);
#paragraph {
margin-bottom: 20px;
color: #333;
font-size: 18px;
line-height: 1.5;
#list {
margin-bottom: 20px;
list-style: none;
padding: 0;
#list li {
background: #e8f0fe;
margin: 5px 0;
padding: 10px;
border-radius: 8px;
transition: background 0.3s;
#list li:hover {
background: #d0e2fe;
.box {
padding: 0 10px;
width: 100px;
height: 100px;
background-color: #007bff;
line-height: 100px;
color: white;
text-align: center;
border-radius: 8px;
button {
margin: 10px;
cursor: pointer;
border: none;
border-radius: 6px;
font-size: 16px;
background: #007bff;
color: white;
button:hover {
button:focus {
button:active {
background: #004494;
transform: translateY(0);
</style>
</head>
<body>
<div class="container">
<p id="paragraph">This is an existing paragraph.</p>
<ul id="list">
</ul>
</div>
<script>
$(document).ready(function () {
$("#appendButton").click(function () {
});
$("#animateButton").click(function () {
$("#box").stop(true, true).css({
width: "100px",
height: "100px",
opacity: 1,
backgroundColor: "blue"
}).animate({
width: "200px",
height: "200px",
opacity: 0.5
}, 1000, function () {
$(this).css("background-color", "green");
});
});
});
</script>
</body>
</html>
BCSL504 Program 10
a. Use ajax() method (without Jquery) to add the text content from the text file by sending ajax request.
b. Use ajax() method (with Jquery) to add the text content from the text file by sending ajax request.
Note: Create two separate file within the same folder one is textfile.txt and other data.json then copy
below text for the both separate file and paste it save it.
textfile.txt
data.Json
program
<!DOCTYPE html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<style>
body {
margin: 0;
padding: 0;
background-color: #f4f4f9;
}
h1 {
text-align: center;
color: #333;
padding: 20px 0;
#content {
flex-direction: column;
display: flex;
max-width: 600px;
padding: 20px;
border-radius: 8px;
background-color: #fff;
button {
display: inline-block;
margin: 12px;
border: none;
border-radius: 5px;
background-color: #007bff;
color: #fff;
font-size: 16px;
cursor: pointer;
button:hover {
button:focus {
#output {
display: none;
margin-top: 20px;
padding: 10px;
border-radius: 5px;
white-space: pre-wrap;
max-height: 300px;
overflow-y: auto;
#output.plain-ajax {
background-color: #f0f8ff;
#output.jquery-ajax {
background-color: #f5fffa;
#output.jquery-json {
background-color: #fffaf0;
#output.parse-json {
background-color: #fff0f5;
</style>
</head>
<body>
<h1>AJAX Examples</h1>
<div id="content">
<div id="output"></div>
</div>
<script>
function showOutput(className) {
output.className = className;
output.style.display = 'block';
document.getElementById('plain-ajax-btn').addEventListener('click', function () {
xhr.onload = function () {
document.getElementById('output').innerText = xhr.responseText;
} else {
showOutput('plain-ajax');
};
xhr.send();
});
$('#jquery-ajax-btn').on('click', function () {
$.ajax({
url: 'textfile.txt',
method: 'GET',
$('#output').text(data);
},
error: function () {
}).always(function () {
showOutput('jquery-ajax');
});
});
$('#jquery-json-btn').on('click', function () {
$.getJSON('data.json')
.done(function (data) {
})
.fail(function () {
})
.always(function () {
showOutput('jquery-json');
});
});
$('#parse-json-btn').on('click', function () {
$.get('data.json')
.done(function (data) {
try {
let jsonData;
jsonData = JSON.parse(data);
} else {
jsonData = data;
} catch (e) {
})
.fail(function () {
})
.always(function () {
showOutput('parse-json');
});
});
</script>
</body>
</html>