提问人:elvis 提问时间:12/3/2022 更新时间:12/3/2022 访问量:62
如果您在 JavaScript 应用程序中不使用 Ajax,为什么会重新加载页面?
Why the page is reloaded if you don't use Ajax in JavaScript app?
问:
我是一名 Java 开发人员,我正在学习 JavaScript 和 React 的前端。现在我正在学习 Ajax。我看到这个 Ajax 用于从 API 异步获取数据,而无需刷新网页。但我不明白这种说法。那么,如果我在没有 Ajax 的情况下获取数据,页面会重新加载吗?有没有一个例子可以实际看到这一点?我的意思是,在没有 Ajax 的情况下从 API 获取数据并重新加载页面。在我看来,如果你从同步的 API 获取数据,它将等待接收数据,在此期间,流将停止,当数据被获取时,流将继续。但是为什么要重新加载页面呢?
我在一个简单的 React 应用程序中使用了这个实现:
componentDidMount() {
// fetch('https://jsonplaceholder.typicode.com/users')
// .then(response => response.json())
// .then(users => this.setState({ users: users }));
var request = new XMLHttpRequest();
request.open('GET', 'https://jsonplaceholder.typicode.com/users', true);
request.onload = () => {
if (request.status >= 200 && request.status < 400) {
var data = JSON.parse(request.responseText);
this.setState({ users: data });
} else {
}
}
request.send();
}
所以,我明白如果我将标志从 true 更改为 false,请求将从异步更改为同步,并且请求将在没有 Ajax 的情况下完成。
但是,如果我使用标志 true 或 false 发出请求,我看不出应用程序中有任何区别。
任何反馈将不胜感激。
答:
0赞
Louys Patrice Bessette
12/3/2022
#1
Ajax 用于在不刷新网页的情况下从 API 异步获取数据。但我不明白这种说法。
该语句与浏览器 JavaScript 相关,其中 a 是获取新信息所必需的。
然后,AJAX技术组合允许在不使用浏览器的“提交”的情况下更新已加载页面的单个部分。form submit()
现在有了 React...您正在使用一种更新的技术,其中每个组件都可以根据状态更改单独重新渲染。
因此,整个网页作为一个整体重新加载的概念与 React 的概念完全相反。
对于 React,该标志应始终为 true(其默认值),因为您不想“冻结”任何 JS 执行。async
评论