淘先锋技术网

首页 1 2 3 4 5 6 7

AJAX和JSON是前端开发中常用的技术,它们可以让网页实现异步加载数据并动态更新页面内容。在实际应用中,经常需要通过AJAX向服务器发送参数,并使用JSON格式接收响应数据。本文将通过一个实例来演示使用AJAX和JSON传参的过程,并详细解释代码背后的逻辑。

假设我们正在开发一个电子商务网站,我们需要根据用户输入的关键词动态搜索商品信息并展示在页面上。为了实现这个功能,我们需要使用AJAX发送关键词参数给服务器,并使用JSON格式接收服务器返回的商品信息。以下是示例代码:

// HTML代码
<body>
<input type="text" id="keyword" placeholder="请输入关键词">
<button onclick="search()">搜索</button>
<div id="result"></div>
</body>
// JavaScript代码
<script>
function search() {
var keyword = document.getElementById("keyword").value;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var data = JSON.parse(this.responseText);
displayResult(data);
}
};
xmlhttp.open("GET", "search.php?keyword=" + keyword, true);
xmlhttp.send();
}
function displayResult(data) {
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = "";
for (var i = 0; i< data.length; i++) {
var productDiv = document.createElement("div");
var productName = document.createElement("h3");
var productPrice = document.createElement("p");
productName.textContent = data[i].name;
productPrice.textContent = "价格:" + data[i].price;
productDiv.appendChild(productName);
productDiv.appendChild(productPrice);
resultDiv.appendChild(productDiv);
}
}
</script>

在该实例中,当用户点击搜索按钮时,JS函数search()会被触发。该函数首先从页面中获取用户输入的关键词,并创建XMLHttpRequest对象。然后,我们定义一个回调函数来处理服务器响应的数据。当AJAX请求状态为4(即已完成)且服务器响应状态为200(即成功)时,我们使用JSON.parse()方法将服务器响应的文本数据转为JavaScript对象,并调用displayResult()函数展示搜索结果。

接下来,我们在search()函数中使用open()方法打开一个GET请求,URL参数中包含了用户输入的关键词。然后,我们使用send()方法发送请求。服务器接收到该请求后,进一步处理关键词参数,查询相关商品信息,并将结果以JSON格式返回给前端。

最后,我们在displayResult()函数中循环遍历服务器返回的商品信息,并将每个商品的名称和价格动态创建为HTML元素,通过appendChild()方法将它们添加到页面中。

通过这个实例,我们可以看到使用AJAX和JSON传参的具体过程。通过AJAX发送参数,我们可以实现与服务器的数据交互。使用JSON格式接收响应数据,我们可以方便地处理和展示返回的信息。这种方式不仅可以用于搜索功能,还可以应用于其他涉及到参数传递和数据交互的前端开发场景。