【发布时间】:2020-01-02 18:40:36
【问题描述】:
我只是在使用我正在阅读的书中的一个例子。该示例被标记为“使用 Ajax 加载 HTML”。这是代码的JS部分:
var xhr = new XMLHttpRequest();
xhr.onload = function() {
if(xhr.status === 200) {
document.getElementById('content').innerHTML = xhr.responseText;
}
};
xhr.open('GET', 'data/data.html', true);
xhr.send(null);
当我将页面加载到浏览器上时,我得到了代码的 CSS 部分(标题等),但没有 JS(应该有会加载到页面上的地图)。 示例说我应该注释掉上面的这部分代码:
xhr.onload = function() {
if(xhr.status === 200) {
document.getElementById('content').innerHTML = xhr.responseText;
...如果我在没有服务器的情况下在本地运行代码,但这也不起作用。 请帮忙。
【问题讨论】:
-
你真的需要使用 XHR 吗?
fetch在代码方面更好,更简洁 -
这是我正在阅读的书中示例提供的代码。你能举一个使用
fetch的例子吗? -
如果响应是 JSON 格式,那么
fetch(url).then(response => response.json()).then(data => document.getElementById('content').innerText = JSON.stringify(data)) -
但是... TJ 的正式“答案”就在下面,可能正中实际的要害。当您的案例中的真正问题似乎与 JavaScript 代码有关时,您表面上询问
XMLHttpRequest()作为发送 AJAX 请求的一种方式。一个完全不同的问题,实际上与请求的发送或接收方式无关。查看答案...
标签: javascript ajax xmlhttprequest