検索

AJAX の簡単な紹介:
AJAX は、Asynchronous JavaScript And XML (Asynchronous JavaScript And XML) を指し、インタラクティブな Web アプリケーションを作成するための Web 開発テクノロジを指します。 AJAX を使用すると、JavaScript の XMLHttpRequest オブジェクトを使用して、JavaScript がサーバーと直接通信できるようになります。このオブジェクトにより、JavaScript はページをリロードせずに Web サーバーとデータを交換できるようになります。
jQuery は JavaScript フレームワークであり、理解しやすい JavaScript の軽量カプセル化です。
Ajax は、XML JavaScript と組み合わせた非同期リクエスト テクノロジであり、動的更新を実現できます。
ajax準備:
1.jqueryダウンロード:
公式サイトの最新ダウンロードアドレス: http://blog.jquery.com/2011/09/01/jquery- 1- 6-3-リリース/
ダウンロード時に jQuery 1.6.3 Minified または jQuery 1.6.3 Uncompressed を選択し、右クリックして「Thunder を使用してダウンロード」を選択します
2. 主な知識の紹介
2.1. Ajax 非同期送信手順:
1. dom を使用してテキスト ボックスの属性の値を取得します
document.getElementById("id name").value
2. XMLHttpRequest オブジェクトを作成します
ブラウザ上には XMLHttpRequest、ActiveXObject の 2 種類のオブジェクトがあります
3. コールバック関数の登録 コールバック関数を登録するときは、関数名のみが必要です。括弧は追加しないでください
コールバック関数を登録するときに、返されたデータ
1 番目の方法: クライアントから出力されたプレーン テキスト データをサーバーから取得します。
2 番目の方法: responseXML を使用して XML データ オブジェクトの DOM オブジェクトを受け取ります。
4.接続情報
5. データを送信し、サーバーとの対話を開始します
Post メソッド/get メソッド

2.2.ajax メイン メソッド:
(1).getElementById("id 属性値") ):
指定された id 属性値に従ってオブジェクトを取得します
(2 ).getElementsByTagName(tagname):
HTML ドキュメント全体で任意の HTML 要素を検索し、指定された要素を持つ要素のコレクションを返します名前
(3). セレクター:
セレクターには、基本セレクター、階層選択セレクター、属性セレクターなどが含まれます。このプログラムには、次のような基本的なセレクター #id のみがあります。
$("#myDiv"): ID「myDiv」を持つ要素を検索します。
2.3.XMLHttpRequest オブジェクト:
XMLHttpRequest は、次のような関数を提供します。ページのリロード ページがロードされると、Web ページが更新され、ページがロードされた後にクライアントがサーバーにデータを要求し、ページがロードされた後にサーバーがデータを受信し、バックグラウンドでクライアントにデータを送信します。
2.3.1. メソッド:
(1)overrideMimeType("text/html"):
サーバーに送信されるヘッダーをオーバーライドし、text/xml を MIME タイプとして強制します
(2) ) open(method, url, async, username,password):
URL や HTTP メソッドなどの HTTP リクエスト パラメーターを初期化しますが、リクエストは送信しません。
method パラメータはリクエストに使用される HTTP メソッド (GET、POST、HEAD など)、
url パラメータはリクエストの本文です。
async パラメータはリクエストが同期か非同期かを示します。誤ったリクエストは同期です。 、本当のリクエストは次のとおりです。 非同期の
ユーザー名とパスワードのパラメーターはオプションであり、URL で必要な承認の認証資格を提供します。指定すると、URL 自体で指定された修飾がオーバーライドされます。
(3)send(body):
open() メソッドに渡されるパラメータと、メソッド
send(body) に渡されるオプションのリクエスト本文を使用して、HTTP リクエストを送信します。open を呼び出す場合() ) 指定された HTTP メソッドは POST または PUT で、body パラメーターはリクエストの本文を文字列または Document オブジェクトとして指定します。リクエストボディが必要ない場合、このパラメータは null になります。
以前に呼び出された open() の async パラメータが false の場合、このメソッドはブロックされ、readyState が 4 になり、サーバーの応答が完全に受信されるまで戻りません。
async パラメータが true の場合、またはこのパラメータが省略された場合、send() はすぐに戻り、後述するように、サーバーの応答はバックグラウンド スレッドで処理されます。
(4)setRequestHeader(name, value):
開いているが送信されていないリクエストに HTTP リクエストを設定または追加します。
name パラメータは、設定するヘッダーの名前です。このパラメータには空白、コロン、改行を含めないでください。
value パラメータはヘッダーの値です。このパラメータには改行を含めることはできません
2.3.2. 属性:
(1)onreadystatechange:
readyState 属性が変更されるたびに呼び出されるイベント ハンドラー関数。また、readyState が 3 の場合、複数回呼び出される場合もあります。
(2)readyState:
XMLHttpRequest が最初に作成されたとき、この属性の値は 0 から始まり、完全な HTTP 応答が受信されるまで 4 まで増加します。
5 つの状態には、それぞれ非公式の名前が関連付けられています。次の表に、状態、名前、および意味を示します。

readyState の値は、リクエストの処理中以外はデクリメントされません。または、プロセス中に open() メソッドが呼び出されます。このプロパティの値が増加するたびに、onreadystatechange イベント ハンドラーがトリガーされます。
(3)status:
サーバーから返された HTTP ステータス コード (成功の場合は 200、「見つかりません」エラーの場合は 404 など)。 readyState が 3 未満のときにこのプロパティを読み取ると、例外が発生します。
(4)responseText:
これまでにサーバーから受信した応答本文 (ヘッダーを除く)、またはまだデータを受信して​​いない場合は空の文字列。
readyState が 3 未満の場合、このプロパティは空の文字列です。このプロパティは、readyState が 3 の場合、それまでに受信した応答部分を返します。 readyState が 4 の場合、このプロパティは完全な応答本文を保持します。
応答に応答本文の文字エンコーディングを指定するヘッダーが含まれている場合は、そのエンコーディングを使用します。それ以外の場合は、Unicode UTF-8 が想定されます。
(5)responseXML: リクエストに対する応答。XML に解析され、Document オブジェクトとして返されます。

コード例:
注: この例はフロントエンドで構成されています。バックエンドはサーブレット実装を使用しますが、データベースにアクセスしてデータを検証しません。フロントデスクはhtmlとjavascriptで構成されており、jqueryでカプセル化されたajaxを使用する方法と、XMLHttpRequestオブジェクトを使用する方法があります。 2 つの検証方法の違いは、JavaScript スクリプトが異なるだけで、フロント ページとバックグラウンド サーブレットは同じです。

フロントエンド ajax.html

コードをコピー コードは次のとおりです:

"http://www.w3.org/TR/html4/loose.dtd"> >

ajax

>ユーザー名:

;/br>

🎜>
バックグラウンド AJAXServer.java:



コードをコピー
コードは次のとおりです: インポート javax.servlet.http.HttpServlet; インポート javax.servlet.http.HttpServletResponse; インポート javax.servlet.http. io.IOException;
import java.io.PrintWriter;
public class AJAXServer extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse)
throws ServletException, IOException {
response.setContentType ("text/html;charset=utf-8");
PrintWriter out= response.getWriter();
//1. パラメータを取得します
String old=request.getParameter("name");
//2. 問題があるかどうかを確認します
if(old==null ||old.length()==0){
out.println("ユーザー名を空にすることはできません");
}else{
//3. 検証操作
String name= old;
if(name.equals("pan")){
//4. 従来のアプリケーションとの違い。このステップでは、ユーザーが関心のあるデータを新しいページではなくページに返す必要があります。
out.println("Username[" name "] selected");
}else{
out .println("Username[" name "] を使用できます");
}
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request,response);
}
}


javascript:verify.js




コピーコード


コードは次のとおりです:


function verify1(){
//1.テキストボックス内
//document.getElementById("username");
var jqueryObj= $("#username");
//ノードの値を取得します
var userName=jqueryObj . val();
//2. テキスト ボックス内のデータをサーバーのサーブレットに送信します
$.get("AJAXServer?name=" username,null,callback); function callback(data){
//3. サーバーから返されたデータを受信します
//4. サーバーから返されたデータをページに動的に表示します
// 情報を保存するノードを見つけます
var resultObj=$("#result");
resultObj.html(data);
}
//検証方法 1 をメソッド内に記述することです。同じ、両方 jquery によってカプセル化された ajax 動的検証フォーム データです
function verify2(){
$.get("AJAXServer?name=" $("#username").val(),null,function( data) {
$("#result").html(data);
}

var xmlhttp;//グローバル変数を定義します
function verify3(){
//1。 dom を使用してテキスト ボックス内の属性の値を取得します
var username=document.getElementById("username").value;
//2. XMLHttpRequest オブジェクトを作成します
//このオブジェクトを作成するには、IE と他の IE の違いに基づいて、異なるコードを記述する必要があります。ブラウザの種類
if (window. ブラウザのバグを修正
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/html");
}
} else if (window.ActiveXObject){
// IE6、IE5.5、IE5 の場合
// XMLHttpRequest オブジェクトの作成に使用される 2 つのコントロール名。js 配列に格納されます。前のバージョンの方が新しいです
var activexName= ["MSXML2.XMLHTTP ","Microsoft.XMLHTTP"];
for(var i=0;i// コントロール名を取り出して作成します。成功した場合、ループを終了します
/ /作成が失敗した場合は例外がスローされ、ループを続けて作成を試行し続けることができます
try{
xmlhttp=new ActiveXObject(activexName[ i]);
break;
}catch(e) {
}
}
}
if(!xmlhttp){
alert("XMLHttpRequest オブジェクトの作成に失敗しました! ! ");
return;
}
//3. コールバック関数を登録します。コールバック関数を登録するときは、関数名のみが必要です。括弧は追加しないでください。
//登録する必要があります括弧を追加すると関数の戻り値が登録されますが、これは間違っています
xmlhttp.onreadystatechange=callback3;
//4. 接続情報を設定します
xmlhttp.open(" GET","AJAXServer?name =" username,true);
//5. データを送信し、サーバーとの対話を開始します
xmlhttp.send(null);// ユーザー名は GET メソッドの URL にカプセル化されますしたがって、データをリクエストして送信するには、null
//POST メソッドを 1 つ送信するだけで済みます
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Python vs. JavaScript:開発者の比較分析Python vs. JavaScript:開発者の比較分析May 09, 2025 am 12:22 AM

PythonとJavaScriptの主な違いは、タイプシステムとアプリケーションシナリオです。 1。Pythonは、科学的コンピューティングとデータ分析に適した動的タイプを使用します。 2。JavaScriptは弱いタイプを採用し、フロントエンドとフルスタックの開発で広く使用されています。この2つは、非同期プログラミングとパフォーマンスの最適化に独自の利点があり、選択する際にプロジェクトの要件に従って決定する必要があります。

Python vs. JavaScript:ジョブに適したツールを選択するPython vs. JavaScript:ジョブに適したツールを選択するMay 08, 2025 am 12:10 AM

PythonまたはJavaScriptを選択するかどうかは、プロジェクトの種類によって異なります。1)データサイエンスおよび自動化タスクのPythonを選択します。 2)フロントエンドとフルスタック開発のためにJavaScriptを選択します。 Pythonは、データ処理と自動化における強力なライブラリに好まれていますが、JavaScriptはWebインタラクションとフルスタック開発の利点に不可欠です。

PythonとJavaScript:それぞれの強みを理解するPythonとJavaScript:それぞれの強みを理解するMay 06, 2025 am 12:15 AM

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

JavaScriptのコア:CまたはCの上に構築されていますか?JavaScriptのコア:CまたはCの上に構築されていますか?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptアプリケーション:フロントエンドからバックエンドまでJavaScriptアプリケーション:フロントエンドからバックエンドまでMay 04, 2025 am 12:12 AM

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

Python vs. Javascript:どの言語を学ぶべきですか?Python vs. Javascript:どの言語を学ぶべきですか?May 03, 2025 am 12:10 AM

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワーク:最新のWeb開発のパワーJavaScriptフレームワーク:最新のWeb開発のパワーMay 02, 2025 am 12:04 AM

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

JavaScript、C、およびブラウザの関係JavaScript、C、およびブラウザの関係May 01, 2025 am 12:06 AM

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター