用JS写一个ajax异步请求servlet类req,并把返回的JSON数据以表格呈现的函数
时间: 2023-03-04 19:36:05 浏览: 105
jquery的ajax异步请求接收返回json数据实例
下面是一个使用原生JS编写的发送异步请求并以表格呈现返回的JSON数据的函数示例:
```javascript
function sendRequest(url, method, data, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
callback(JSON.parse(xhr.responseText));
} else {
console.log('Request failed. Returned status of ' + xhr.status);
}
}
};
xhr.open(method, url, true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify(data));
}
function displayTable(jsonData) {
var table = document.createElement('table');
var thead = table.createTHead();
var tbody = table.createTBody();
var tr = thead.insertRow();
for (var key in jsonData[0]) {
var th = document.createElement('th');
th.appendChild(document.createTextNode(key));
tr.appendChild(th);
}
for (var i = 0; i < jsonData.length; i++) {
var tr = tbody.insertRow();
for (var key in jsonData[i]) {
var td = tr.insertCell();
td.appendChild(document.createTextNode(jsonData[i][key]));
}
}
document.body.appendChild(table);
}
```
使用示例:
```javascript
var url = 'req'; // 这里填写你的servlet类req的URL
var method = 'POST'; // 这里填写请求的方法,比如POST或GET
var data = { /* 这里填写请求的数据,如果没有可以为空对象 {} */ };
var callback = displayTable; // 这里填写处理返回数据的函数名
sendRequest(url, method, data, callback);
```
请注意,这个函数只是一个示例,并且假定返回的JSON数据是一个数组,每个元素都是一个对象,且所有对象都具有相同的属性列表。如果你的JSON数据不符合这个假设,你可能需要根据你的具体情况进行修改。
阅读全文