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の違い

推薦する

CN2、GIA、CIA、BGP、IPLC はどういう意味ですか?

CN2ラインとは何ですか? CN2 は、China Telecom Next Carrier Ne...

mysql binlog ログを正しくクリーンアップする 2 つの方法

mysqlはbinlogログを正しくクリーンアップします序文: MySQL の binlog はデー...

MySQL フルテキスト検索の中国語ソリューションとサンプルコード

MySQL 全文検索中国語ソリューション最近、会社のプロジェクトで、データベースで中国語を検索する機...

Javascript 仮想 DOM の詳細な説明

目次仮想DOMとは何ですか?なぜ仮想DOMが必要なのでしょうか?仮想 DOM はどのようにして実際の...

MySQL binlog の解析

目次1. binlogの紹介2. Binlog関連のパラメータ3. バイナリログの内容を分析するIV...

Nginx のアンチホットリンクを設定する方法

実験環境• 最小限のインストール済みの CentOS 7.3 仮想マシン• 構成: 1 コア/512...

Vueはシンプルなショッピングカートの例を実装します

この記事では、参考までに、Vue の具体的なコードを共有して、簡単なショッピングカートを実装します。...

VUEはFlappy Birdゲームのサンプルコードを実装します

Flappy Bird は、誰もがアプリでプレイしたことがある非常にシンプルな小さなゲームです。ここ...

APP (IOS、Android) を呼び出すモバイル H5 の記述例

iOS 1. URLスキームこのソリューションは基本的に、WeChat、QQ 組み込みブラウザ、QQ...

Dockerを使用してサーバー上で複数のPHPバージョンを実行する

PHP7 がリリースされてからかなり時間が経ちますが、パフォーマンスが大幅に向上したことはよく知られ...

Vue3とElectronを使ったデスクトップアプリケーションの詳しい説明

目次Vue CLIはVueプロジェクトを構築しますVue プロジェクトをマークダウン エディターに変...

dockerでビルドしたnacos1.3.0の実装

1. nacosデータベースを再開します。データベース名nacos_configユーザー名とパスワー...

Vueのコンポーネントのprops属性について詳しく説明します

目次質問1: 小道具は具体的にどのように使用されますか?原理は何ですか?下を見る質問 2: 年齢に ...

HTML と埋め込み Flash の両方におけるスクロールバーの分析と処理

開発を行う際に、次のような状況に遭遇することがよくあります。 a.swf が Web ページに追加さ...

VirtualBox を使用して Mac 上にローカル仮想マシン環境を構築する方法

1. ビッグデータとHadoopビッグデータについて研究し学ぶには、当然 Hadoop から始める必...