ホームページ >バックエンド開発 >PHPチュートリアル >JavaScript - Ajax の非同期の問題

JavaScript - Ajax の非同期の問題

WBOY
WBOYオリジナル
2016-08-04 09:19:55939ブラウズ

JavaScript - Ajax の非同期の問題

すみません、ajax 里面的回调函数是返回data再执行函数里面的代码还是不等data返回就直接执行函数里面的代码はどこですか?

2 番目のケースの場合、非同期によるトラブルを回避するにはどうすればよいですか?

返信内容:

JavaScript - Ajax の非同期の問題

すみません、ajax 里面的回调函数是返回data再执行函数里面的代码还是不等data返回就直接执行函数里面的代码はどこですか?

2 番目のケースの場合、非同期によるトラブルを回避するにはどうすればよいですか?

successのコールバック関数は、データが正常に返された後に実行される関数であり、データが取得されるまで実行されないことを意味します
その他の状況には、beforeSend(送信前)、complete(リクエスト完了後)などがあります。 )、エラー (リクエストエラー) ) コールバック

非同期によるトラブルについてよくわかりませんが、例を教えていただけますか?

データを返してから関数内のコードを実行する必要があります = = データを返さずに実行する = = エラーを待っていませんか?

ajax的全称AJAX = Asynchronous JavaScript and XML (非同期 JavaScript および XML)。
先に質問に答えると、成功した場合、データが正常に返されるまで関数は実行されません。応答がない場合は、しばらく待機します。この時間は通常、ネットワークの遅延時間です。自分で設定することもできます。

素晴らしい jquery框架的ajax について簡単に話しましょう。
通常は、名前+値の形式でこのように使用します。

リーリー
  • async リクエストが非同期で処理されるかどうかを示すブール値。デフォルトは true です。 false に設定すると、非同期がオフになります。この時点で、1 つのリクエストによりインターフェイスが非常にスタックします。

  • beforeSend(xhr) リクエストを送信する前に実行する関数。

  • cache ブラウザがリクエストされたページをキャッシュするかどうかを示すブール値。デフォルトは true です。

  • complete(xhr,status) リクエストが完了したときに実行される関数 (リクエストが成功または失敗した後、つまり成功関数とエラー関数の後に呼び出されます)。

  • contentType データをサーバーに送信するときに使用されるコンテンツ タイプ。デフォルトは「application/x-www-form-urlencoded」です。

  • context は、すべての AJAX 関連のコールバック関数の「this」値を指定します。

  • data サーバーに送信するデータを指定します。

  • dataFilter(data,type) XMLHttpRequest の生の応答データを処理するために使用される関数。

  • dataType 予想されるサーバー応答のデータ型。

  • error(xhr,status,error) リクエストが失敗した場合に実行される関数。

  • global グローバル AJAX イベント ハンドラーがリクエストに対してトリガーされるかどうかを指定するブール値。デフォルトは true です。

  • ifModified 最後のリクエスト以降に応答が変更された場合にのみリクエストが成功するかどうかを指定するブール値。デフォルトは false です。

  • jsonp は、jsonp 内のコールバック関数の文字列を書き換えます。

  • jsonpCallback は、jsonp 内のコールバック関数の名前を指定します。

  • password は、HTTP アクセス認証リクエストで使用されるパスワードを指定します。

  • processData リクエストを通じて送信されたデータがクエリ文字列に変換されるかどうかを指定するブール値。デフォルトは true です。

  • scriptCharset は、要求された文字セットを指定します。

  • success(result,status,xhr) リクエストが成功したときに実行される関数。

  • timeout ローカルリクエストのタイムアウトを設定します(ミリ秒単位)。

  • 従来のブール値。パラメータのシリアル化の従来のスタイルを使用するかどうかを指定します。

  • type リクエストのタイプ (GET または POST) を指定します。

  • url リクエストを送信する URL を指定します。デフォルトは現在のページです。

  • username は、HTTP アクセス認証リクエストで使用されるユーザー名を指定します。 これにより、ユーザーのログインとパスワードをシミュレートできます。

  • xhr XMLHttpRequest オブジェクトの作成に使用される関数。

赤い部分は私がよく使うものです。

リクエストしたインターフェイスがデータで正常に応答した後、この成功関数をコールバックします。そのため、サーバーが正常に処理している限り、返されるデータは必要なデータです

質問に対する答えは上で述べたので繰り返しませんが、非同期の問題についてだけ聞きたいと思います。

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