この記事では主にajaxcaseを自分で作成する方法について説明します
ここで、ajaxの構造と機能をまとめてみましょう。
ajaxの目的は、バックグラウンドでデータをリクエストすることです。その特徴は、ajaxが登場する前は、ユーザーにとって、多くの項目を含むフォームに入力するのは単純に面倒でした。手順のいずれかが間違って入力されると、最終送信時にエラーが表示され、何度もフォームに入力しなければならなくなるという悪夢です。それはアウトです。その後、ajax の登場により、この問題はうまく解決され、項目が入力されるたびに結果がサーバー経由で検証されて返されるため、効率がある程度向上し、ユーザーのエクスペリエンスが向上しました。 (さらに詳しく知りたい場合は、PHP 中国語 Web サイトAJAX 開発マニュアル のコラムにアクセスして学習してください)
それでは、Ajax を使用する際のいくつかの問題について説明しましょう: まず、IE ではデータが時間内に更新されません (原因は次のとおりです)。キャッシュ)、URL は 1 回だけ読み取られるため、更新されるたびに URL を変更する必要がありますが、ドメイン名はどうなるのでしょうか?次のパラメータはページの取得には影響しませんが、異なる URL を持つブラウザはページをリロードするため、ページ キャッシュの問題は解決されます。 url+'?t='+new Date().getTime(); を渡すこともできますし、Math.random(); を使用することもできます。次に、統一されたエンコーディングが必要な、受信したデータ形式に問題があります。 any Thing は文字とともに返されます。この時点では、データを自分で解析する必要があります。次に、自分で ajax を作成します:
1. ajax オブジェクトを作成しますvar oAjax=new XMLHttpRequest() ~上位バージョンのブラウザーまたは新しい ActiveXObject('Microsoft.XMLHTTP')~IE
2.接続 oAjax.open (メソッド、アドレス、非同期)
3. ステータス変更の読み取り時に を受け入れる oAjax.send();ジャックス。 readyState ステータス コード
0。ajax オブジェクトが作成されました (新しい ajax オブジェクト)
1. サーバーに接続されました (open メソッドが実行されたばかりです)2。 completed
3. 受信完了 (ファイルヘッダー)
4. 受信完了 (本文)、コンテンツリクエスト失敗も 4
ここで、http ステータスコード:
oAjax.status 200
oAjax.responseText はデータを返します
encodeURIComponent(str)
文字列は URI コンポーネントとして使用されます
ajax:
//data 后台要的数据 //options = url,data,type,timeout,success,error function ajax(options){ options=options||{}; options.data=options.data||{}; options.type=options.type||'get'; options.timeout=options.timeout||0; //整理data数据 options.data.t=Math.random();//给data创建一个t 键 var arr=[]; for(var key in options.data){ arr.push(key+'='+encodeURIComponent(options.data[key])); } var str=arr.join('&'); if(window.XMLHttpRequest){//1 var oAjax=new XMLHttpRequest(); }else{ var oAjax=new ActiveXObject('Microsoft.XMLHTTP'); } if(options.type=='get'){ oAjax.open('get',options.url+'?'+str,true);//2 oAjax.send();//3 }else{//post oAjax.open('post',options.url,true); //设定ajax的头信息 oAjax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); oAjax.send(str); } oAjax.onreadystatechange=function(){//4 if(oAjax.readyState==4){ if(oAjax.status>=200 && oAjax.status<p><span style="color:rgb(51,51,51);font-family:arial;line-height:20.02px;"><span style="font-size:24px;">1.</span>ajax関数を作成します。ajaxではパラメータが不確定で配置位置も異なるため、データとしてjsonを使用し、パラメータ オプションが渡されます。オプションはオプションです。渡された場合は、渡されたデータが使用されます。そうでない場合は、送信メソッドのタイプ、タイムアウト設定、データを含むデフォルトのパラメータが使用されます。 </span></p><p><span style="font-size:18px;"></span>2.</p> URL は最後にいくつかのランダム変数を追加する必要があるため、最初にキー options.data.t=Math.random(); をデータに追加し、次に URL をエンコードします。データを処理します。 <p><span style="font-size:18px;"><strong></strong></span>3.</p> 次に、ブラウザを決定します。chrome と ff はどちらも window.XMLHttpRequest をサポートしますが、IE ブラウザは ActiveXObject ('Microsoft. メソッドのみをサポートします。URL の後に設定した乱数を追加する必要があります)。 oAjax.send(); データを送信できますが、post メソッドの場合は、ajax ヘッダー情報 oAjax.setRequestHeader('Content-Type',' application/x-www-form-urlencoded'); も設定する必要があります。データを送信してください<p><span style="font-size:18px;"><p><span style="font-size:18px;"><strong>4.</strong>对状态改变时进行判断oAjax.onreadystatechange当oAjax.readyState==4时表明接收完成此时再判断状态码oAjax.status>=200 && oAjax.status</span></p> <p><span style="font-size:18px;"><strong>5.</strong>在这中间可以设置一个定时器,当在设定的时间内还没有获取成功则表明超时了,此时需要终止加载oAjax.abort(),并且告诉用户超时了,如果在设置的时间内加载成功了,则清除定时器。</span></p> <p><span style="font-size:18px;">此时ajax就封装完毕了,调用时就简单了</span></p> <p><span style="font-size:18px;"></span></p> <pre class="brush:php;toolbar:false">ajax({ data: {a:3,b:5}, url: 'php/php_get.php', success:function(str){ alert(str); } });
本篇文章到这就结束了(想看更多就到PHP中文网AJAX使用手册栏目中学习),有问题的可以在下方留言提问。
以上が自分で ajax を作成するにはどうすればよいですか? ajaxの作成手順を詳しく解説(解析例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

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

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

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