function getStock(productId) {var xhr = new XMLHttpRequest();xhr.onreadystatechange = function() {if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {var stock = JSON.parse(xhr.responseText);document.getElementById("stock_" + productId).innerHTML = stock;}};xhr.open("GET", "/api/product/stock?productId=" + productId, true);xhr.send();}
在这个示例中,我们定义了一个名为`getStock`的函数,它接受一个`productId`参数。当调用这个函数时,它将创建一个`XMLHttpRequest`对象,并通过`open`方法指定请求的URL以及请求的方式(GET、POST等)。然后,我们定义了一个`onreadystatechange`事件处理函数,当请求状态发生变化时被调用。最后,我们通过`send`方法发送请求。在`onreadystatechange`事件处理函数中,我们首先判断请求的状态是否为已完成(`XMLHttpRequest.DONE`),以及HTTP状态码是否为200,表示请求成功。如果满足这两个条件,我们将服务器返回的库存数量(假设为JSON格式的数据)解析为Javascript对象,并将其更新到页面上对应的元素中。回到我们的例子中,我们可以在商品列表页面的每个商品元素中添加一个``元素,用于显示商品的库存数量。我们通过调用`getStock`函数并传递商品的`productId`,就可以实现实时更新库存数量的效果。商品名称
商品描述
通过上述示例,我们可以看到,在用户浏览商品列表的同时,页面上的库存数量会实时更新,而不需要刷新整个页面。总结起来,使用AJAX可以实现不刷新页面的情况下更新数据,这对于提升用户体验和减少服务器负载非常有帮助。通过发起异步请求,将服务器返回的数据动态更新到页面上,我们可以实现与服务器的实时交互,为用户提供更好的浏览体验。无论是电商网站、社交网络还是在线游戏,AJAX的应用都非常广泛,它已经成为现代Web开发中不可或缺的一部分。