ホームページ  >  記事  >  ウェブフロントエンド  >  AJAX の面接でよくある質問をいくつ知っていますか? ajax 面接でよくある 12 の質問とその回答

AJAX の面接でよくある質問をいくつ知っていますか? ajax 面接でよくある 12 の質問とその回答

寻∝梦
寻∝梦オリジナル
2018-09-10 11:57:435368ブラウズ

この記事では主に ajax に関する面接の質問と回答について説明します。詳しくは、面接官がどのように質問し、何が正解なのかを確認してください。今すぐこの記事を見てみましょう

[関連トピックの推奨事項: ajax の面接の質問 (2020)]

1. 仕事でバックエンドと対話しますか?それでは、カプセル化された ajax のいくつかのパラメーターについて話してもらえますか?

url: リクエストを送信するアドレス。

type: リクエストメソッド (post または get) のデフォルトは get です。

async: 同期非同期リクエスト、デフォルトは true、すべてのリクエストは非同期リクエストです。

timeout: ミリ秒単位のタイムアウト設定

data: サーバーに送信されるデータ、オブジェクト型または文字列型のパラメータが必要

cache: デフォルトは true (dataType が script の場合、デフォルトは false)、false に設定 リクエスト情報ブラウザのキャッシュからは読み込まれません。

dataType: サーバーによって返されることが予期されるデータ型。

利用可能な型は以下の通りです:

xml: JQueryで処理できるXMLドキュメントを返します。

html: プレーンテキストの HTML 情報を返します。含まれている script タグは、DOM に挿入されると実行されます。

script: プレーンテキストの JavaScript コードを返します。結果は自動的にキャッシュされません。

json: JSON データを返します。

jsonp: JSONP形式。 myurl?callback=? などの JSONP 形式を使用して関数を呼び出すと、JQuery は最後の「?」を正しい関数名に自動的に置き換えてコールバック関数を実行します。

text: プレーンテキスト文字列を返します。

success: リクエストが成功した後に呼び出されるコールバック関数には 2 つのパラメーターがあります。

(1) サーバーから返され、dataType パラメーターに従って処理されたデータ。

(2) ステータスを説明する文字列。

エラー: パラメーターは関数タイプである必要があり、関数はリクエストが失敗したときに呼び出されます。この関数には 3 つのパラメータがあります

(1) XMLHttpRequest オブジェクト

(2) エラー メッセージ

(3) キャプチャされたエラー オブジェクト (オプション)

complete :function(XMLHttpRequest,status){ //リクエストが完了した後最終実行パラメータ

2.json データの形式を処理する方法はありますか? 以前の作業でデータの一部を削除するリクエストを送信した場合、削除されたことをどのように確認できますか?それとも削除したらどこに表示されるのでしょうか?

JSON.parse() JSON オブジェクトに変換し、データに従って解析し、ページに配置します。

形式: {} と [] を結合した JSON 文字列と結合

データ削除リクエストを送信すると、バックグラウンドが処理結果を返し、フロントエンドが返された結果に基づいて成功したかどうかを判断し、ページ要素を処理します。

3. IE ブラウザーで、背景画像データが変更されたのに、クライアントが変更されないという状況に遭遇したことがありますか? 彼は、ブラウザのキャッシュ

JQuery.ajax() メソッドをキャッシュに false に設定すると、リクエストはブラウザのキャッシュからロードされず、

または post メソッドを使用してデータをリクエストすると、毎回キャッシュされないことを思い出させました。データをリクエスト

4. タブの実装アイデア

マウスホバー時間、メソッドを呼び出し、これを部分的に非表示にし、これに対して表示操作を実行し、表示を制御する

5. カスケードの実装アイデア。

一般に、地域データは 2 次元配列を使用して保存されます。これはバックグラウンドから取得され、後で保存されます

最初のドロップダウン ボックスのオプションに従って、対応する 2 次元配列データを見つけて、ループ new Option() をドロップダウン ボックスに追加します

6. カルーセル画像の実装方法

最初の方法:画像に順番に名前を付け、タイマーを使用して画像のパスを数秒ごとに変更します。

いいえ、2 つのタイプがあります:

シームレス スクロール テクノロジーを使用して、すべての画像をページに配置します。タイマーがスクロールし、残り (%) がスクロール距離の決定に使用されます。 、タイマーを一時停止し、数秒後にタイマーを開始します。

7. bootstrap について理解していることについて話します

Bootstrap は、jQuery に基づいてよりパーソナライズされ、人間化されています。名前を付けるだけで済みます。 Bootstrap 独自の一連の Web サイト スタイルであり、ほとんどの jQuery プラグインと互換性があります。

8. angularjs と JQ の違い

JQ まず入手してから使用してください。

Angularjsを直接使用する

9. JQmobileとJQの違い

jQuery Mobile 是创建移动 web 应用程序的框架。jQuery Mobile 适用于所有流行的智能手机和平板电脑。jQuery Mobile 使用 HTML5 和 CSS3 通过尽可能少的脚本对页面进行布局

(1) jQuery は主にセレクター、プロパティ変更、イベントバインディングなどを提供する js ライブラリです。
(2) jQuery UIは、jQueryをベースに設計され、jQueryの拡張性を活かしたプラグインです。ダイアログ ボックス、ドラッグ動作、サイズ変更動作など、一般的に使用されるいくつかのインターフェイス要素を提供します。
(3) jQuery 自体は背景に重点を置いており、美しいインターフェイスを持っていませんが、jQuery UI は前者の欠点を補い、人々に受け入れられやすい華やかな表示インターフェイスを提供します。迫力あるバックステージと華やかなフロントステージの両方があります。 jQuery UI は jQuery プラグインですが、特に jQuery によって公式に維持されている UI 指向のプラグインを指します。

10. ajax の 4 つの部分:

var xmlhttp = new XMLHttpRequest();
xmlhttp.open("post||get","URL",true||false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.onreadystatechange = callBack;
xmlhttp.send(null);

11. ajax が受け取るデータ型は何ですか?

String

JSON string

JSON object

12. ajax が必要な場所とそうでない場所は何ですか?

out out out out to to to フォームがあるため、Ajax は必要ありません

利点:

。データを更新するための更新はありません。

AJAX の最大の利点は、ページ全体を更新せずにサーバーと通信してデータを維持できることです。これにより、Web アプリケーションはユーザーの操作により迅速に応答できるようになり、変更されていない情報がネットワーク上に送信されることがなくなり、ユーザーの待ち時間が短縮され、非常に優れたユーザー エクスペリエンスが実現されます。
。サーバーと非同期で通信します。
AJAX は、ユーザーの操作を中断することなく、非同期方式を使用してサーバーと通信し、より高速な応答機能を備えています。ブラウザとサーバー間の通信を最適化し、ネットワーク上の不要なデータ送信、時間、データ トラフィックを削減します。
。フロントエンドとバックエンドの負荷分散。
AJAX は、クライアントのアイドル容量を処理に使用して、以前はサーバーの負担となっていた作業の一部をクライアントに転送し、サーバーと帯域幅の負担を軽減し、スペースとブロードバンドのレンタルコストを節約できます。また、サーバーの負荷を軽減するために、AJAX の原則は「オンデマンドでデータを取得する」ことで、冗長なリクエストと応答によるサーバーの負荷を最小限に抑え、サイトのパフォーマンスを向上させることができます。
<4> 標準に基づいて広くサポートされています。
AJAX は標準化され、広くサポートされているテクノロジーに基づいています。ブラウザーのプラグインやアプレットをダウンロードする必要はありませんが、お客様はブラウザーで JavaScript を実行できるようにする必要があります。 Ajax が成熟するにつれて、Ajax の使用を簡素化するいくつかのプログラム ライブラリも登場しました。同様に、JavaScript をサポートしていないユーザーに代替機能を提供する別の支援プログラミング テクノロジが登場しました。
.インターフェースとアプリケーションの分離。
Ajax は、WEB 上のインターフェイスとアプリケーションを分離します (データとプレゼンテーションを分離するとも言えます)。これは分業と協力に役立ち、非技術者がページを変更することによって引き起こされる WEB アプリケーションのエラーを減らし、改善します。効率が高く、現在の出版システムにより適しています。

短所:

<1>.AJAX は、「戻る」機能と「履歴」機能を強制終了します。これは、ブラウザーのメカニズムを破壊することになります。
動的に更新されるページの場合、ブラウザーは履歴に静的なページしか記憶できないため、ユーザーは前のページの状態に戻ることができません。完全に読み取られたページと動的に変更されたページの違いは非常に微妙です。ユーザーは多くの場合、「戻る」ボタンをクリックすると前の操作がキャンセルされると期待しますが、Ajax アプリケーションではこれは不可能です。
戻るボタンは標準的な Web サイトの重要な機能ですが、js ではうまく機能しません。ユーザーは前に戻って前の操作をキャンセルしたいことが多いため、これは Ajax によって引き起こされる深刻な問題です。では、この問題に対する解決策はあるのでしょうか?答えは「はい」です。Gmail で使用されている Ajax テクノロジーがこの問題を解決することは知っていますが、これは Ajax のメカニズムを変更するものではありません。これを行うには、非表示の IFRAME を作成または使用して、ユーザーが履歴にアクセスするために戻るボタンをクリックしたときにページ上の変更を再現します。 (たとえば、ユーザーが Google マップでクリックして戻ると、非表示の IFRAME が検索され、検索結果が Ajax 要素に反映され、アプリケーションの状態がその時点の状態に復元されます。)
しかし、これは問題は解決できますが、開発コストは非常に高くつき、Ajax フレームワークで必要とされる迅速な開発とは相反します。これは Ajax が原因で発生する非常に深刻な問題です。
これに関連する点は、動的なページ更新を使用すると、ユーザーが特定のステータスをお気に入りに保存することが難しくなるということです。この問題に対する解決策も登場しており、そのほとんどは URL フラグメント識別子 (URL の # の後の部分、アンカーと呼ばれることが多い) を使用して追跡し、ユーザーが指定されたアプリケーションの状態に戻ることを可能にします。 (多くのブラウザでは、JavaScript でアンカーを動的に更新できるため、Ajax アプリケーションは表示されたコンテンツと同時にアンカーを更新できます。) これらのソリューションは、「戻る」ボタンをサポートしていないことに関する多くの議論も解決します。 (さらに詳しく知りたい場合は、PHP 中国語 Web サイトAJAX 開発マニュアル のコラムにアクセスして学習してください)

.AJAX セキュリティの問題。
AJAX テクノロジーは、ユーザーに優れたユーザー エクスペリエンスをもたらすだけでなく、IT 企業に新たなセキュリティ脅威をもたらします。これは、企業データの直接チャネルを確立するようなものです。これにより、開発者は以前よりも多くのデータとサーバー ロジックを誤って公開してしまう可能性があります。 Ajax ロジックはクライアント側のセキュリティ スキャン テクノロジから隠蔽できるため、ハッカーがリモート サーバーから新たな攻撃を作成できるようになります。また、Ajax は、クロスサイト スクリプティング攻撃、SQL インジェクション攻撃、資格情報ベースのセキュリティの脆弱性など、いくつかの既知のセキュリティの弱点を回避するのが困難です。
<3>。検索エンジンのサポートが不十分です。
検索エンジンのサポートは比較的弱いです。 AJAX を不適切に使用すると、ネットワーク データ トラフィックが増加し、システム全体のパフォーマンスが低下します。
。プログラムの例外処理メカニズムを破棄します。
少なくとも現時点では、Ajax.dll や Ajaxpro.dll などの Ajax フレームワークはプログラムの例外メカニズムを破壊します。この問題に関しては、私も開発過程で遭遇したことがありますが、調べてみるとネット上には関連する紹介がほとんどありません。その後、実験を行い、Ajax と従来のフォーム送信モードを使用してデータの一部を削除しました...これにより、デバッグに大きな困難が生じました。
。これは、URL とリソースの配置の本来の目的に反しています。
たとえば、URL アドレスを指定した場合、Ajax テクノロジーが使用されている場合、その URL アドレスの下に表示される内容は、この URL アドレスの下に表示される内容と異なる可能性があります。これは、リソースの配置の本来の目的に反します。
.AJAX はモバイル デバイスを十分にサポートしていません。
一部のハンドヘルド デバイス (携帯電話、PDA など) は現在、Ajax をあまりサポートしていません。たとえば、携帯電話のブラウザで Ajax テクノロジを使用している Web サイトを開いた場合、現時点では Ajax をサポートしていません。
<7>。クライアントが太すぎるため、クライアント コードが多すぎると開発コストが発生します。
記述は複雑でエラーが発生しやすく、冗長なコードがたくさんあります (レイヤーに js ファイルを含めるのは AJAX の一般的な問題であり、過去の多くのサーバー側コードが現在はレイヤーに配置されています)クライアント); それは Web の本来の標準を破壊します。

この記事はここで終わります (さらに詳しく知りたい場合は、PHP 中国語 Web サイトAJAX ユーザーマニュアル の列にアクセスして学習してください)。ご質問がある場合は、以下にメッセージを残してください。

以上がAJAX の面接でよくある質問をいくつ知っていますか? ajax 面接でよくある 12 の質問とその回答の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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