Ajax テクノロジーの構成と中心原理の分析
この記事では主に JavaScript パフォーマンス最適化関数のスロットリング (スロットル) と関数デバウンス (デバウンス) について紹介します。興味のある方は参考にしてください。
この記事では主に Ajax テクノロジ構成の原理を分析します。具体的な内容は次のとおりです。
1. Ajax
の特徴: 部分的な更新、ユーザーエクスペリエンスの向上、データはサーバープロバイダーからロードされます
2. AJax
の技術構成は新しいテクノロジーではなく、以前のテクノロジーとの統合です。テクノロジーのAjax: 非同期 Javascript と
JavaScript: サーバーにリクエストを送信し、返された結果を取得し、ページを更新します。
XML: データをカプセル化するために使用されます。
3. Ajax の基本原則
XMLHttpRequst オブジェクト: このオブジェクトを通じてサーバーにリクエストを送信します。 これは、すべての最新のブラウザー (Chrome、IE5 以降) でサポートされている非同期リクエスト テクノロジーです
1) XMLHttpReuest オブジェクトを作成します
IE 以外のブラウザー (Mozilla/Safari): var xhr=new XMLHttpRequest();IE: xhr =new ActiveXObject ("Msxml2.POST"、URL、true/false): サーバーへの接続を確立するために使用されます。 パラメーター 1: 送信メソッド、post または get パラメーター 3:同期または非同期リクエストを示します。true: 非同期リクエストを示します
false: 同期リクエストを示しますsend(data): リクエストを送信します
Parameters: 送信されたコンテンツ。
POST メソッド: データは送信されたパラメーター、send(username=root&password=abc123);
GET メソッド: send(null)
b) 属性:
onreadystatechange: 状態が変化したときにコールバック関数を設定します。サーバーデータを取得するために使用されます。
onreadystatechange=function(){
}
readyState: サーバーステータス応答
ステータスコード:
0: 未初期化
1: ロード中
3: リクエスト進行中
4: リクエスト完了
responseXML: サーバーから返されたデータ (XML 形式)
概要:
XMLHttpRequest を使用する手順:
1) XMLHttpRequest オブジェクトを作成します
2) リクエスト メソッドとURL
xhr.open("GET/POST","url",true/false)、trueは非同期リクエスト、falseは同期リクエストを意味します
3)状態変化時のコールバック関数を設定します
0:未初期化
1:読み込み中
3:リクエスト進行中 4:リクエスト完了 4)送信リクエスト
xhr.send(data),
投稿後の場合はdataが送信されたデータ。取得のために送信された場合、パラメーターは null にすることができます。
ユーザーがログインした HTML ページを決定します:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登录</title> </head> <body> 用户名:<input type="text" name="username" id="username"><br> 密码:<input type="password" name="password" id="password"> <a href="javascript:chkUser();">登录</a> <p id="res"></p> </body> <script type="text/javascript"> var xhr; /** * 创建XMLHttpRequest对象 */ function createXMLHttpRequest(){ //1、创建XMLHttpRequest对象 if(window.XMLHttpRequest){ //非IE内核浏览器 xhr=new XMLHttpRequest(); }else{ //IE浏览器 try{ xhr=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ //IE低版本 xhr=new ActiveXObject("Microsoft.XMLHTTP"); } } } /** * 发送请求,用来检查用户名、密码是否正确 */ function chkUser(){ //1、创建XMLHttpRequest createXMLHttpRequest(); //2、获得用户名、密码 var username=document.getElementById("username").value; var password=document.getElementById("password").value; //3、与服务器建立连接:open var url="login?username="+username+"&password="+password; //方式1:get提交 //xhr.open("GET",url,true); //方式2:post提交 var url2="login"; xhr.open("POST",url2,true); //4、设置回调函数,获得服务器响应的数据 xhr.onreadystatechange=function(){ /* readyState状态码: 0:未初始化 1:正在加载 2:加载完成 3:请求进行中 4:请求完成 */ if(xhr.readyState==4){ //status,200表示响应正常 if(xhr.status==200){ //alert("从服务器返回的值为:"+xhr.responseText); var res=xhr.responseText; if(res=='0'){ document.getElementById("res").innerHTML="登录成功"; }else{ document.getElementById("res").innerHTML="<font color='red'>登录失败</font>"; } }else{ alert("出现在了异常:"+xhr.response.Text); } } } //5、发送请求 //方式1:get方式 //xhr.send(null); //方式2:post方式: //Post提交需要设置http请求头 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send("username="+username+"&password="+password); } </script> </html>
サーバーコード:
package com.newer.login.web; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.newer.login.bean.User; import com.newer.login.service.UserService; /** * Servlet implementation class LoginServlet */ public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; UserService userService = new UserService(); /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 1、获得页面参数 String username = request.getParameter("username"); String password = request.getParameter("password"); System.out.println("获得请求的参数username:"+username); System.out.println("获得请求的参数password:"+password); // 2、封装User对象 User user = new User(); user.setUsername(username); user.setPassword(password); // 3、调用服务类,完成用户名、密码的校验 User u = userService.login(user); /* * 传统方式 if(u!=null){ //表示登录成功 request.setAttribute("user", user); * //跳转至首页... }else{ //登录失败,跳转登录页面 * * } */ // ajax响应 PrintWriter out = response.getWriter(); if (u != null) { //0成功,1失败 out.print(0); }else{ out.print(1); } out.close(); } }
Ajax非同期読み込み解析
注文番号が存在するか同期検証するAjaxメソッド
データを取得してページに表示するAjax実装メソッド以上がAjax テクノロジーの構成と中心原理の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









nohup の役割と原理の分析 Unix および Unix 系オペレーティング システムでは、nohup はバックグラウンドでコマンドを実行するためによく使用されるコマンドです。ユーザーが現在のセッションを終了したり、ターミナル ウィンドウを閉じたりしても、コマンドはまだ実行され続けています。この記事では、nohup コマンドの機能と原理を詳しく分析します。 1. nohup の役割: バックグラウンドでのコマンドの実行: nohup コマンドを使用すると、ターミナル セッションを終了するユーザーの影響を受けることなく、長時間実行されるコマンドをバックグラウンドで実行し続けることができます。これは実行する必要があります

タイトル: jQuery AJAX リクエストの 403 エラーを解決する方法とコード例。403 エラーは、サーバーがリソースへのアクセスを禁止するリクエストを指します。このエラーは通常、リクエストにアクセス許可がないか、サーバーによって拒否されたために発生します。 jQueryAJAX リクエストを行うときにこのような状況に遭遇することがありますが、この記事ではこの問題の解決方法とコード例を紹介します。解決策: 権限を確認します。まず、要求された URL アドレスが正しいことを確認し、リソースにアクセスするための十分な権限があることを確認します。

jQuery は、クライアント側の開発を簡素化するために使用される人気のある JavaScript ライブラリです。 AJAX は、Web ページ全体をリロードせずに、非同期リクエストを送信し、サーバーと対話するテクノロジーです。ただし、jQuery を使用して AJAX リクエストを行うと、403 エラーが発生することがあります。 403 エラーは通常、セキュリティ ポリシーまたは権限の問題が原因で、サーバーによってアクセスが拒否されたエラーです。この記事では、jQueryAJAX リクエストで 403 エラーが発生した場合の解決方法について説明します。

Struts フレームワークの原理分析と実践的な調査 JavaWeb 開発で一般的に使用される MVC フレームワークとして、Struts フレームワークは優れた設計パターンとスケーラビリティを備えており、エンタープライズ レベルのアプリケーション開発で広く使用されています。この記事では、Struts フレームワークの原理を分析し、読者がフレームワークをよりよく理解して適用できるように、実際のコード例を使用してそれを検討します。 1. Struts フレームワークの原理の分析 1. MVC アーキテクチャ Struts フレームワークは MVC (Model-View-Con) に基づいています。

MyBatis は、さまざまな Java プロジェクトで広く使用されている人気のある Java 永続層フレームワークです。その中でも、バッチ挿入は、データベース操作のパフォーマンスを効果的に向上させることができる一般的な操作です。この記事では、MyBatis でのバッチ挿入の実装原理を深く調査し、特定のコード例を使用して詳細に分析します。 MyBatis でのバッチ挿入 MyBatis では、通常、バッチ挿入操作は動的 SQL を使用して実装されます。複数の挿入値を含む S を構築することによって

Ajax を使用して PHP メソッドから変数を取得することは、Web 開発では一般的なシナリオであり、Ajax を使用すると、データを更新せずにページを動的に取得できます。この記事では、Ajax を使用して PHP メソッドから変数を取得する方法と、具体的なコード例を紹介します。まず、Ajax リクエストを処理し、必要な変数を返すための PHP ファイルを作成する必要があります。以下は、単純な PHP ファイル getData.php のサンプル コードです。

jQueryAJAX エラー 403 の問題を解決するにはどうすればよいですか? Web アプリケーションを開発する場合、非同期リクエストを送信するために jQuery がよく使用されます。ただし、jQueryAJAX の使用時に、サーバーによってアクセスが禁止されていることを示すエラー コード 403 が発生する場合があります。これは通常、サーバー側のセキュリティ設定が原因ですが、回避する方法があります。この記事では、jQueryAJAX エラー 403 の問題を解決する方法と具体的なコード例を紹介します。 1.作る

MyBatis は優れた永続層フレームワークであり、XML とアノテーションに基づいたデータベース操作をサポートし、シンプルで使いやすく、豊富なプラグイン メカニズムも提供します。その中でも、ページング プラグインは、よく使用されるプラグインの 1 つです。この記事では、MyBatis ページング プラグインの原理を詳しく説明し、具体的なコード例で説明します。 1. ページング プラグインの原理 MyBatis 自体はネイティブ ページング機能を提供しませんが、プラグインを使用してページング クエリを実装できます。ページング プラグインの原理は主に MyBatis を傍受することです
