ホームページ ウェブフロントエンド jsチュートリアル JSでのAjax利用スキルの詳細な分析

JSでのAjax利用スキルの詳細な分析

Apr 24, 2018 pm 03:57 PM
ajax javascript スキル

今回は、JS で Ajax を使用するスキルの詳細な分析と、JS で Ajax を使用する際の 注意事項 についての詳細な分析をお届けします。実際の事例を見てみましょう。

Ajax は新しい

プログラミング言語 ではなく、既存の標準を使用する新しい方法です。 AJAX は、ページ全体をリロードせずにサーバーとデータを交換できます。この非同期対話方式により、ユーザーはクリック後にページを更新せずに新しいデータを取得できます。

XMLHttpRequest オブジェクト

Ajax の中核は XMLHttpRequest オブジェクト (XHR) です。 XHR は、サーバーにリクエストを送信し、サーバーの応答を解析するためのインターフェイスを提供します。サーバーから新しいデータを非同期的に取得する機能。

ブラウザでオブジェクトを作成する

(IE7以降のバージョンのみ対応):

XHRの使い方 最初に紹介するのは、open()メソッドです。 3 つのパラメータを受け取ります:

• 送信するリクエストのタイプ (POST、GET など)

• リクエストの URL

• リクエストを非同期に送信するかどうかを示すブール値

open の呼び出しの例():

xhr.open("get", "index.jsp", false);

index.jsp の GET リクエスト。 URL は、コードが実行されている現在のページに対する相対的なものです。open() メソッドの呼び出しは実際にリクエストを送信するのではなく、リクエストの送信を開始するだけです。


send() を呼び出してリクエストを送信します。

xhr.send(null);

send() はリクエスト本体として送信されるデータであるパラメータを受け取ります。リクエスト本文を通じてデータを送信する必要がない場合は、null を渡す必要があります。

対応するデータは、XHR オブジェクトの関連する属性に入力されます:

•responseText: 応答本文として返されるテキスト

•responseXML: 応答のコンテンツ タイプは、「text/xml」または「application/」です。 xml"

• status: レスポンスの HTTP ステータス

• statusText: HTTP ステータスの説明

レスポンスを受信したら、まず status 属性をチェックして、レスポンスが返されたことを確認します。一般的に、レスポンスとして 200 が使用されます。成功の兆し。ステータス コード 304 は、リソースが変更されておらず、ブラウザにキャッシュされたバージョンを直接使用できることを示します。

適切な応答を受信するには、両方のステータス コードを次のように検出する必要があります:

xhr.open("get", "index.jsp", false);
xhr.send(null);
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {
alert(xhr.responseText);
} else {
alert("Request was unsuccessful: " + xhr.status);
}
ログイン後にコピー

readyState 属性を検出することにより、要求/応答プロセスの現在アクティブなステージを判断できます。

•0: 初期化されていません。 open()メソッドが呼び出されませんでした

•1:開始。 open()メソッドは呼び出されていますが、send()メソッドは呼び出されていません

•2:送信。 send() メソッドが呼び出されていますが、応答が受信されていません

•3: 受信しました。部分的なデータを受信しました

•4:完了。すべてのデータが受信されており、readyState 属性の値が変更されるたびに、readystatechange イベントがトリガーされます。 open() を呼び出す前に onreadystatechange

イベント ハンドラー

プログラムを指定すると、ブラウザーの互換性を確保できます。

応答を受信する前に非同期リクエストをキャンセルできます:

xhr.abort(); HTTP ヘッダー情報

XHR オブジェクトは、リクエスト ヘッダーと応答ヘッダー情報を操作するためのメソッドを提供します。

デフォルトでは、XHRリクエストを送信する際に、以下のヘッダー情報も送信されます。

•Accept: ブラウザが処理できるコンテンツタイプ

•Accept-Charset: ブラウザが表示できる文字セット

•Accept-Encoding: ブラウザが処理できる圧縮エンコーディング

•Accept-Language:ブラウザの現在の設定言語

•接続: ブラウザとサーバー間の接続のタイプ

•Cookie: 現在のページに設定されているすべての Cookie

•ホスト: リクエストを行っているページが配置されているドメイン

• Referer: リクエストが行われたページの URL

•User-Aent: ブラウザのユーザーエージェント文字列

使用setRequestHeader()可以设置自定义的请求头部信息。必须在调用open()方法之后,且在调用send()之前,调用

setRequestHeader():

xhr.open("get", "index.jsp", true);
xhr.setRequestHeader("MyHeader", "MyValue");
xhr.send(null);
ログイン後にコピー

调用getResponseHeader()并传入字段名称,可以取得相应的响应头部信息。getAllResponseHeader()取得包含所有头部信息的长字符串。

var myHeader = xhr.getResponseHeader("MyHeader");
var allHeaders = xhr.getAllResponseHeader();
ログイン後にコピー

GET请求

GET用于向服务器查询某些信息。可以将查询字符串参数追加到URL的末尾,查询字符串中的每个参数的名称和值都必须使用encodeURIComponent()编码:

xhr.open("get", "login.jsp?name1=value1&name2=value2", false); 
addURLParam()接收三个参数:要添加参数的URL、参数的名称和参数的值。
var url = "login.jsp";
// 添加参数
url = addURLParam(url, "username", "xxyh");
url = addURLParam(url, "password", "xxyh123");
// 初始化请求
xhr.open("get", url, false);
ログイン後にコピー

POST请求

POST请求用于向服务器发送应该被保存的数据。POST请求的主体可以包含非常多的数据,而且格式不限。

初始化请求:

xhr.open("post", "login.jsp", true); 
首先将Content-Type头部信息设置为application/x-www-form-urlencoded,然后建立一个字符串格式。如果需要将页面中的表单数据进行序列化,然后再通过XHR发送到服务器,可以使用serialize()函数来创建这个字符串:
xhr.open("get", "login.jsp", false);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var form = document.getElementById("user-info");
xhr.send(serialize(form));
ログイン後にコピー

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

jQuery+AJAX实现调用后台步骤详解

JQuery调用Ajax加载图片

以上がJSでのAjax利用スキルの詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

jQuery AJAX リクエストで発生した 403 エラーを解決する方法 jQuery AJAX リクエストで発生した 403 エラーを解決する方法 Feb 20, 2024 am 10:07 AM

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

jQuery AJAXリクエスト403エラーを解決する方法 jQuery AJAXリクエスト403エラーを解決する方法 Feb 19, 2024 pm 05:55 PM

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

PHP と Ajax: オートコンプリート提案エンジンの構築 PHP と Ajax: オートコンプリート提案エンジンの構築 Jun 02, 2024 pm 08:39 PM

PHP と Ajax を使用してオートコンプリート候補エンジンを構築します。 サーバー側スクリプト: Ajax リクエストを処理し、候補を返します (autocomplete.php)。クライアント スクリプト: Ajax リクエストを送信し、提案を表示します (autocomplete.js)。実際のケース: HTML ページにスクリプトを組み込み、検索入力要素の識別子を指定します。

jQuery AJAX エラー 403 の問題を解決するにはどうすればよいですか? jQuery AJAX エラー 403 の問題を解決するにはどうすればよいですか? Feb 23, 2024 pm 04:27 PM

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

Ajaxを使用してPHPメソッドから変数を取得するにはどうすればよいですか? Ajaxを使用してPHPメソッドから変数を取得するにはどうすればよいですか? Mar 09, 2024 pm 05:36 PM

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

PHP と Ajax: 動的に読み込まれるコンテンツを作成するためのソリューション PHP と Ajax: 動的に読み込まれるコンテンツを作成するためのソリューション Jun 06, 2024 pm 01:12 PM

Ajax (非同期 JavaScript および XML) を使用すると、ページをリロードせずに動的コンテンツを追加できます。 PHP と Ajax を使用すると、製品リストを動的にロードできます。HTML はコンテナ要素を含むページを作成し、Ajax リクエストはロード後に要素にデータを追加します。 JavaScript は Ajax を使用して XMLHttpRequest を通じてサーバーにリクエストを送信し、サーバーから JSON 形式で商品データを取得します。 PHP は MySQL を使用してデータベースから製品データをクエリし、それを JSON 形式にエンコードします。 JavaScript は JSON データを解析し、ページ コンテナーに表示します。ボタンをクリックすると、製品リストをロードするための Ajax リクエストがトリガーされます。

PHP と Ajax: Ajax のセキュリティを向上させる方法 PHP と Ajax: Ajax のセキュリティを向上させる方法 Jun 01, 2024 am 09:34 AM

Ajax セキュリティを向上させるには、いくつかの方法があります。 CSRF 保護: トークンを生成してクライアントに送信し、それを検証リクエストのサーバー側に追加します。 XSS 保護: htmlspecialchars() を使用して入力をフィルタリングし、悪意のあるスクリプトの挿入を防ぎます。 Content-Security-Policy ヘッダー: 悪意のあるリソースの読み込みを制限し、スクリプトとスタイル シートの読み込みを許可するソースを指定します。サーバー側の入力を検証する: Ajax リクエストから受け取った入力を検証して、攻撃者による入力の脆弱性の悪用を防ぎます。安全な Ajax ライブラリを使用する: jQuery などのライブラリによって提供される自動 CSRF 保護モジュールを利用します。

Ajax機能を利用した非同期データ交換 Ajax機能を利用した非同期データ交換 Jan 26, 2024 am 09:41 AM

Ajax 機能を使用して非同期データ対話を実現する方法 インターネットと Web テクノロジーの発展に伴い、フロントエンドとバックエンド間のデータ対話が非常に重要になってきました。ページの更新やフォームの送信などの従来のデータ操作方法では、ユーザーのニーズを満たすことができなくなりました。 Ajax (非同期 JavaScript および XML) は、非同期データ対話のための重要なツールとなっています。 Ajax により、Web で JavaScript と XMLHttpRequest オブジェクトを使用できるようになります

See all articles