ホームページ  >  記事  >  バックエンド開発  >  PHP+Ajaxで検証コードのリアルタイム検証を実装 code_phpの例

PHP+Ajaxで検証コードのリアルタイム検証を実装 code_phpの例

WBOY
WBOYオリジナル
2016-08-04 08:56:44746ブラウズ

PHP の画像処理機能は強力で、検証コードの画像を作成するのは非常に簡単ですが、リアルタイム検証を実装する際に、次のような問題が発生しました。 nat123 を使用してコンピューター上の Web サイトをポートマップし、外部アクセスを有効にしました。当初は Cookie を使用して js を使用して検証コードを検証しましたが、テスト後、nat123 を使用すると Web サイトがカスタム URL にアクセスできるようになりましたが、ネットワーク上の検証コードを生成する PHP ファイルの場所が他のページと同じドメインにないことがわかりました。クエリを実行すると、出力画像がキャッシュ ファイルとしてフォルダーにマッピングされていることがわかりました。 —他のページは私の URL の下にあり、検証コードを生成するページは別の URL にあるため、パスとドメインをどのように設定しても機能せず、セッションを使用する必要があります。セッションはサーバー上に存在するため、検証コードを保存します。つまり、ローカル Web サイトからアクセスできます。
次がメインです。私はこれまで ajax について大まかに理解したことがあり、その用途や特徴はまだ知っていますが、バックグラウンドからデータを取得するという比較的一般的な概念をどのように使用し始めるのかがわかりません。
まず、バックグラウンドでテキスト ファイルの内容を取得するために使用される質問例のコードを分析しました。
リーリー

重要なのは:

リーリー

これらの 3 つの文は、GET リクエストの送信先のページと、XMLHttpRequest オブジェクトが応答を返し、データが request.responseText を通じて取得されるときにトリガーされる処理関数を指定します。

------------------------------------------------- ----------------------------------

しかし、取得したいデータはバックグラウンドのphpファイルによって生成された検証コードです。バックグラウンドに検証コードを送信させるにはどうすればよいですか?

GET メソッドまたは POST メソッドに関係なく、データはバックグラウンドに送信されます。ajax はバックグラウンドからデータをどこに取得しますか?

困惑して、別の情報を確認したところ、次のような例が見つかりました。 XMLHttpRequest オブジェクトによって返される応答の処理ステートメントは次のとおりです:

リーリー

要求されたファイルは check.php です
いくつかの条件付き出力文があります:

リーリー

実行中のサンプルのレンダリングでは、check.php ページの出力などのコンテンツを含むメッセージ ボックスが静的ページにポップアップ表示されます。 ! !
言い換えれば、ajax は php ページの出力コンテンツをリクエストできるため、次のステップははるかに簡単になります。画像は検証コード ページの出力でもあるため、検証コード ページを直接 ajax することはできません。それ以外の場合は、画像も得られます。
新しい php ページを作成します:


リーリー

次に、ajax を使用してフロントエンドでこのページへの GET リクエストを作成し、request.responseText を使用して検証コードを取得できます。
その後、検証プロセスは特定の条件によってトリガーされる関数にカプセル化され、リアルタイムで検証できるようになります。


以上がこの記事の全内容です。皆様の学習に役立つことを願っております。また、皆様も Script Home をサポートしていただければ幸いです。

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