Ajax part2
Store the data to csv or txt file
Task1:
app.py
from flask import Flask, render_template, request,jsonify
import csv
import os
app = Flask(__name__)
@app.route("/")
def home():
return render_template("index.html")
@app.route("/RegisterData", methods=["POST"])
def register_data():
data = request.get_json()
file_name = "students.txt"
file_exists = os.path.isfile(file_name)
with open(file_name, mode="a", newline='') as file:
writer = csv.writer(file)
if not file_exists:
writer.writerow(['name', 'age','gender'])
writer.writerow([data['name'], data['age'], data['gender']])
return jsonify({
"status": "Success",
"message": "Data received successfully"
})
if __name__ == "__main__":
app.run(debug=True)
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
<script>
function clearData() {
document.getElementById("name").value = "";
document.getElementById("age").value = "";
document.getElementById("gender").value = "";
}
function InsertData() {
let Student = {
name: document.getElementById("name").value,
age: document.getElementById("age").value,
gender: document.getElementById("gender").value
};
// document.getElementById("pdata").innerHTML = "Hello World!";
fetch("/RegisterData", {
method: "POST",
headers: {'Content-Type': 'application/json'},
body:JSON.stringify(Student)
})
.then(response => response.json())
.then(data => {
console.log('Success:', data);
alert("Data Registered Successfully!");
clearData();
})
.then(clearData())
}
</script>
</head>
<body>
<P id="pdata"></P>
<table>
<tr><td>name:</td><td><input type="text" id="name" /></td></tr>
<tr><td>age:</td><td><input type="text" id="age" /></td></tr>
<tr><td>gender:</td><td><input type="text" id="gender" /></td></tr>
<tr><td>Course:</td>
<td><select id="course">
<option value="AWS">AWS</option>
<option value="Devops2">Devops</option>
</select></td></tr>
</table>
<button onclick="InsertData()">REGISTER DATA</button>
</body>
</html>
Output:
File created in the project level below text saved.Student.txt
name,age,gender
subrahmanyam,34,Male
Karthik,28,Male
--Thanks
No comments:
Post a Comment