Ajax + js (without jquery)
Ajax + js (without jquery)
我在IE中遇到了问题。这段代码在IE中不起作用,但在其他代码中效果很好。我发现IE不能与jQueryAJAX一起工作,所以它需要不使用。也许有人知道这个
$(document).ready(function () {
$.ajax({
url: 'http://api.randomuser.me/?results=11',
dataType: 'text',
success: function (result, textStatus, XMLHttpRequest) {
console.log(result);
//alert(result);
var event = JSON.parse(result);
var our_html = "<table 'border='0' cellpadding='0' cellspacing='0'>";
our_html += "<tr><th style='width:52px;border-left:none;'>№</th><th>Имя Фамилия Отчество</th><th>Адрес</th><th>Фото</th><th style='width:180px;border-right: none;'>Действие</th></tr>";
event.results.forEach(function (item, item_number) {
var u = item.user;
our_html += "<tr>";
our_html += "<td style='width:52px;'>" + (parseInt(item_number) + 1) + "</td>";
our_html += "<td class='usname'>" + u.name.title + "." + "<span>" + u.name.first + "</span>" + " " + "<span>" + u.name.last + "</span>" + "</td>";
our_html += "<td class='usst'>" + "<span>" + u.location.city + "</span>" + ", " + u.location.street + "</td>";
our_html += '<td style="width:146px;"><img style="max-width:60px; max-height:60px;border-radius: 30px;" src="' + u.picture.medium + '"></td>';
our_html += '<td style="width:180px; border-right: solid 1px #e1e1e1;"><div class="more" onclick="alert("' + u.name.first + '")">Просмотреть</div></td>';
our_html += "</tr>";
});
our_html += "</table>";
document.getElementById("table-wrapper").innerHTML = our_html;
//alert (event.results[0].user.name.title); // Goper
//$(".simple p").text(event.results[0].user.name.title);
}
});
});
这里有一个没有jQuery的解决方案,它支持IE8+:
var request = new XMLHttpRequest();
request.open('GET', 'http://api.randomuser.me/?results=11', true);
request.onreadystatechange = function() {
if (this.readyState === 4) {
if (this.status >= 200 && this.status < 400) {
var resp = this.responseText;
var yourEvent = JSON.parse(resp);
//Do whatever you want with the yourEvent variable
} else {
//Debug error here!
console.error("An error occurred");
}
}
};
request.send();
request = null;
致问候,
由于您已经在使用jQuery,因此应该使用它而不是普通的DOM脚本。
代替
document.getElementById("table-wrapper").innerHTML=our_html;
尝试使用:
$('#table-wrapper').html(our_html);
此处工作:http://jsbin.com/zoyinoguri/1/edit?html,js,输出
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- jQuery:循环一个具有不同超时值的循环
- 用程序搜索JQuery数据表中的文本
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jQuery匹配JSON对象的部分文本
- 使用javascript Without Ajax/Jquery在特定行中启用文本框
- Ajax + js (without jquery)
- jquery smartbanner without apple smartbanner
- Ajax tabs without jquery?
- 将属性从 data-src 更改为 src WITHOUT jQuery
- Run jquery ajax with multi diemnstion array without form
- 当前和未来元素的事件侦听器Without jQuery
- ASP.NET without JS/JQuery
- AngularJS With Highcharts WITHOUT JQuery
- prepend without jQuery?
- mouseenter without JQuery
- Ajax POST in javascript without jquery
- jQuery .each() vs. .map() without return