Ajax读取数据示例

这篇博客展示了如何利用Ajax技术从服务器获取JSON数据,并动态地在网页上展示这些数据。通过创建一个按钮触发Ajax请求,当用户点击按钮时,会加载一个名为'ajax_learn_info.json'的文件。接收到数据后,将JSON内容解析为JavaScript对象,并绘制到表格中。示例中包含了HTML、CSS和JavaScript代码,以及一个简单的Node.js服务器,用于返回JSON文件。
摘要由CSDN通过智能技术生成

html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8"/>
		<style type="text/css">
			#p1{
				background-color:lightblue;
				text-align:center;
				font-size:50px;
			}
			#table1{
				width:80%;
				margin:auto;
			}
		</style>
	</head>
	<body>
		<p id="p1">ajax</p>
		<button id="button1" onclick="myFunction()">读取数据</button>
		<table id="table1" border="1">
			<tr>
				<th>a</th>
				<th>b</th>
				<th>c</th>
			</tr>
		</table>
	</body>
	<script type="text/javascript">
		let http="";
		let text;
		function drawtable(list){
			for(var a of list){
				http+="<tr>"+
					"<td>"+a.first+"</td>"+
					"<td>"+a.second+"</td>"+
					"<td>"+a.third+"</td>"+
					"</tr>"
			}
			let table = document.getElementById("table1");
			let temp = table.innerHTML;
			table.innerHTML = temp+http;
		}
		function loadjson(file,cfun){
			text=new XMLHttpRequest();
			text.onreadystatechange = cfun;
			text.open("Get",file,true);
			text.send();
		}
		function myFunction(){
			loadjson("ajax_learn_info.json",function(){
				if(text.readyState==4&&text.status==200){
					let list=JSON.parse(text.responseText);
					drawtable(list);
				}
			})
		}
	</script>
</html>

json

[
	{
		"first":"aaaaaaaa",
		"second":"bbbbbbbbbb",
		"third":"ccccccccccc"
	},
	{
		"first":"aaaaaaaa",
		"second":"bbbbbbbbbb",
		"third":"ccccccccccc"
	}
]

js server

var http = require("http");
var fs = require("fs");
var url = require('url');
 
// 创建服务器
http.createServer( function (request, response) {  
//   var data = fs.readFileSync('c:\\users\\dell\\desktop\\test.html');
   // 解析请求,包括文件名
   var pathname = url.parse(request.url).pathname;
      // 输出请求的文件名
   console.log("Request for " + pathname + " received.");
      // 从文件系统中读取请求的文件内容
   fs.readFile(pathname.substr(1), function (err, data) {
      if (err) {
         console.log(err);
         // HTTP 状态码: 404 : NOT FOUND
         // Content Type: text/html
         response.writeHead(404, {'Content-Type': 'text/html'});
      }else{             
         // HTTP 状态码: 200 : OK
         // Content Type: text/html
         response.writeHead(200, {'Content-Type': 'text/html'});    
                  // 响应文件内容
         response.write(data.toString());        
      }
      //  发送响应数据
      response.end();
   });   
}).listen(8888, "10.18.100.30");

// 终端打印如下信息
console.log('Server running at http://10.18.100.30:8888/');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值