JavaScriptを使用して独自のAjax関数を定義する

JavaScriptを使用して独自のAjax関数を定義する

ネイティブJSによって開始されたネットワークリクエストは、クエリ文字列の形でサーバーに送信されるため、ユーザーがオブジェクトの形でパラメーターを送信する方が便利であるため、ユーザーが渡すパラメーターオブジェクトを処理し、Resolvedata関数を定義し、正式なパラメーターを設定してパラメーターを受け取ります&アレイの各項目を分割して、イサイマ関数を定義し、XHRオブジェクトを作成し、パラメーターを処理する関数に渡され、等式を削除するかどうかを確認します渡されたパラメーターは小文字である可能性があります。これらは、条件を満たしている場合、対応する値を埋め、送信済みのポストを呼び出します。最後に、リスニング イベントを呼び出します。

関数resolveData(データ) {
    var arr = [];
    (var k in data) の場合 {
        var str = k + "=" + データ[k];
        arr.push(文字列)
    }
    arr.join("&") を返します
}
関数 itheima(オプション) {
    var xhr = 新しい XMLHttpRequest();
    var qs = 解決データ(options.data);
    if (options.method.toUpperCase() === "GET") {
        xhr.open(options.method, options.url + "?" + qs);
        xhr.send();
    } そうでない場合、options.method.toUpperCase() === "POST"){
        xhr.open(オプション.メソッド、オプション.url)
        xhr.setRequestHeader("コンテンツタイプ","application/x-www-form-urlencoded")
        xhr.send(qs)
    }
    xhr.onreadystatechange = 関数 () {
        xhr.readyState === 4 && xhr.status === 200 の場合 {
            var 結果 = JSON.parse(xhr.responseText)
            オプション.成功(結果);
        }
    }
}

最後に成功するかテストします〜

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>テストインターフェース</title>
<script src="itheima.js"></script>
</head>
<本文>
    <スクリプト>
        イテイマ({
            メソッド:"GET",
            url:"http://www.liulongbin.top:3006/api/getbooks",
            データ:{
                id:1
            },
            成功:function(res){
                コンソールログ(res);
            }
        });
    </スクリプト>
</本文>
</html> 

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Ajax を使用して js でカスタム ヘッダー情報を設定および取得する方法の概要
  • JavaScript に基づいて Ajax 呼び出しのバックグラウンド定義メソッドを実装する方法
  • ASP.NET MVCはAJAXを使用してJsonResultメソッドを呼び出し、カスタムエラー情報を返します。
  • JavaScriptカスタム関数の詳細な説明
  • JavaScript 再帰関数の定義と使用例の分析
  • JS で関数を定義する一般的な方法の概要
  • JavaScript関数定義方法の詳細な例

<<:  Flex レイアウトで適応型ページを作成する (構文と例)

>>:  html、xhtml、xmlの違い

推薦する

MySQLにおけるトランザクションの永続性実装原理の詳細な説明

序文データベース トランザクションに関して言えば、トランザクションの ACID 特性、分離レベル、解...

mysql5.7.18 解凍バージョンで mysql サービスを起動します

mysql5.7.18の解凍版はmysqlサービスを起動します。具体的な内容は以下のとおりです。 1...

最新のmysql-5.7.21のインストールと設定方法

1. ダウンロードしたMySQLの圧縮パッケージをインストールディレクトリに解凍します。 2. 新し...

MySQLクラスタのDockerデプロイメントの実装

シングルノードデータベースの欠点大規模なインターネットプログラムはユーザーベースが大きいため、アーキ...

MySQL 5.7.18 無料インストール版ウィンドウ設定方法

初めてのブログです。データベースの勉強を始めた頃のことを書いています。自分でダウンロードしたのですが...

ウェブページのコアコンテンツ(画像とテキスト)の視覚的表現の紹介

情報の最適化と改良は常にデザインの最初のステップです。 「これは百度アライアンスユーザーエクスペリエ...

MySQL ルートパスワードを変更する複数の方法 (推奨)

方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...

MySQL 8.0.23 無料インストールバージョンの設定詳細チュートリアル

最初のステップは、MySQL 8.0.23の無料インストールバージョンをダウンロードすることです。 ...

Vue.js プロジェクトの開始方法

目次1. Node.jsとVue 2. ローカル開発環境でフロントエンドのVueプロジェクトを実行す...

sqlとmysqlの違いは何ですか?

SQL とは何ですか? SQL はデータベースを操作するために使用される言語です。 SQL はすべ...

JavaScript でローカル変数をグローバル変数に変換する方法

まず関数の自己呼び出しを知る必要がある関数の自己呼び出し - 自己呼び出し関数1 回限りの関数 - ...

ドメイン名を nginx サービスにバインドする方法

nginx.conf で複数のサーバーを設定します。 http リクエストを処理する際、nginx ...

要素ツリーコントロールは、ドロップダウンメニューとアイコンを統合します(ツリー+ドロップダウン+入力)

目次要件:実装手順:この記事では主に以下について説明します: カスタムツリーコントロール<el...

HTML フォームタグチュートリアル (4):

ここで、次のような項目をフォームに追加したいとします: 現在いる都市を参照します。ここで私たちが話し...

MySQL 5.7 解凍版のインストールとアンインストール、およびよくある問題の概要

1. インストール1. ダウンロードMySQLをダウンロードするには、MySQL公式サイトhttp:...