AJAX ASP学习笔记

1. AJAX是什么?

  • AJAX全称为Asynchronous JavaScript And XML,即异步JavaScript和XML技术。

  • AJAX是一种用于创建快速动态网页的技术,可在不重新加载整个页面的情况下更新部分页面,从而提高了用户体验。

  • AJAX技术采用JavaScript和XML(或JSON)来实现异步数据传输,通过XMLHttpRequest对象向服务器发送请求并接收响应,实现局部刷新页面。

2. AJAX的工作原理

  1. 用户与页面交互触发事件。

  2. JavaScript创建XMLHttpRequest对象。

  3. XMLHttpRequest对象向服务器发送请求。

  4. 服务器处理请求并返回数据。

  5. JavaScript利用接收到的数据更新局部页面内容。

3. 示例:AJAX实现动态搜索

htmlCopy Code
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>AJAX实现动态搜索</title> </head> <body> <h2>动态搜索</h2> <input type="text" id="search" placeholder="请输入关键词" /> <ul id="result"></ul> <script> const searchInput = document.getElementById("search"); const resultDiv = document.getElementById("result"); searchInput.addEventListener("input", function () { const xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { const data = JSON.parse(xhr.responseText); renderResult(data); } }; xhr.open("POST", "search.php", true); xhr.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" ); xhr.send("keyword=" + this.value.trim()); }); function renderResult(data) { const fragment = document.createDocumentFragment(); for (let i = 0; i < data.length; i++) { const li = document.createElement("li"); li.textContent = data[i].name; fragment.appendChild(li); } resultDiv.innerHTML = ""; resultDiv.appendChild(fragment); } </script> </body> </html>
  • HTML:页面结构和基本样式。

  • JavaScript:事件监听和AJAX请求发送,以及数据渲染。

  • PHP:处理AJAX请求并返回JSON格式数据。

4. ASP.NET中使用AJAX

  • 可以使用Microsoft AJAX框架(ASP.NET AJAX)来实现AJAX功能。

  • ASP.NET AJAX提供了一系列的AJAX控件,包括UpdatePanel、ScriptManager、Timer等。

  • UpdatePanel控件使得可以将普通的ASP.NET控件封装在其中,并能够通过部分更新的方式进行页面刷新。

  • ScriptManager控件可用于注册页面所需的JavaScript资源文件和服务端Web服务,以及引用其他JavaScript脚本。

  • Timer控件可用于定时刷新UpdatePanel控件中的内容。