我有一个php脚本,它使我的页面加载缓慢,因为它从另一个站点获取API数据并进行解析,因此我想使其最后加载.我正在阅读AJAX,因为它是异步的.下面是到目前为止我的AJAX代码.目前,我要做的只是让AJAX从PHP中获取一个变量并显示它,但我无法使其正常工作.我想我真的很近.
这是我要加载到的DIV和脚本触发器.
<div id="results"></div>
<script type="text/javascript">ajax_lastcount();</script>
这是AJAX脚本
<script type="text/javascript">
function ajax_lastcount() {
var hr = new XMLHttpRequest();
hr.open("GET", "/viewcount.php", true);
hr.setRequestHeader("Content-type", "application/json", true);
hr.onreadystatechange = function() {
if(hr.readyState == 4 && hr.status == 200) {
var data = JSON.parse(hr.responseText);
var results = document.getElementById("results");
results.innerHTML = data;
}
}
}
hr.send(null);
results.innerHTML = "requesting...";
}
</script>
这是viewcount.php页面
header("Content-type", "application/json");
$lastcount = "ten";
echo json_encode($lastcount);
解决方法:
使用jQuery可以通过以下代码来实现(在加载页面的DOM后自动调用):
$(document).ready(function() {
$.ajax({
url: '/viewcount.php',
type: 'get',
dataType: 'json',
})
.success(function(data) {
$('div#results').html(data);
});
});
如果要执行简化的GET或POST请求,也可以改为调用此命令:
$(document).ready(function() {
$.get('/viewcount.php', {'optional_params_object':'value'})
.success(function(data) {
$('div#results').html(data);
});
});
要么
$(document).ready(function() {
$.post('/viewcount.php', {'optional_params_object':'value'})
.success(function(data) {
$('div#results').html(data);
});
});
原文地址:https://codeday.me/bug/20191121/2051344.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。