0

私は ajax で簡単なスクリプトを持っており、戻り値をキャプチャして値に従って処理したいと考えています。

if (xmlhttp.readyState==4) {

    if (xmlhttp.responseText == "not available") {
        document.write("not available");
    }

}

同時に、これを試してみましたが、うまくいきました:

if (xmlhttp.readyState==4) {

    document.write(xmlhttp.responseText);

}

私は何を間違っていますか?


お返事ありがとうございます。これは、私の現在のドメイン可用性チェック スクリプトで、うまく機能します。

    <html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $('#dtype').change(function() {
                    var opt = $('#domain').val();
                    $.ajax({
                        type: "POST",
                        url: "testwhois.php",
                        data: 'd=' + opt,
                        success:function(data){
                            $('#txtHint'). html(data);
                        }
                    });
                });
            });
        </script>
    </head>
<body>
 <form>  Domain name : <input type="text" name="domain" id="domain"> <input type="radio" name="dtype" id="dtype" value="new">New <input type="radio" name="dtype" value="transfer">Transfer  <span id="txtHint"></span> </form>
</body>
</html>

ただし、その中に次の 2 つのものが必要です。

  1. 答えが表示される「txtHint」の場所でスクリプトが動作している間のプリローダー画像(私はそれを持っています)。

  2. 「利用不可」または「利用可能」という形式で回答が返ってきます。HTMLコードで「利用不可」と回答が返ってきた場合、「ドメイン」欄を空欄にしたいです。

再度、感謝します。

4

1 に答える 1

2

これをすでに知っている場合はご容赦ください。

Ajax はデータを外部の php ファイルにポストし、受け取ったデータを処理して応答を返します。次のようになります。

ファイル #1:

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $('#Sel').change(function() {
                    var opt = $(this).val();
                    var someelse = 'Hello';
                    var more_stuff = 'Goodbye';
                    $.ajax({
                        type: "POST",
                        url: "receiving_file.php",
                        data: 'selected_opt=' + opt + '&something_else=' +someelse+'&more_stuff='+more_stuff,
                        success:function(data){
                            alert('This was sent back: ' + data);
                        }
                    });
                });
            });
        </script>
    </head>
<body>

<select id = "Sel">
    <option value ="Song1">default value</option>
    <option value ="Song2">Break on through</option>
    <option value ="Song3">Time</option>
    <option value ="Song4">Money</option>
    <option value="Song5">Saucerful of Secrets</option>
</select>

ファイル #2: receive_file.php

<?php
    $recd = $_POST['selected_opt'];
    echo 'You chose: ' . $recd;

上記の例は機能します。コピーして 2 つのファイルに貼り付けると、AJAX が動作していることがわかります。もちろん、サーバー側のスクリプトは PHP で作成されるため、サーバーでそれを処理する必要があります。必要に応じて、XAMPP をダウンロードし、ローカル コンピューターにインストールします。これら 2 つのファイルをhtdocsフォルダーに配置し、ブラウザーのアドレス バーに次のように入力します。

http://localhost/whatever_you_called_the_first_page.php

ご覧のとおり、jQuery を使用して AJAX コードを記述する方がはるかに簡単です。必要なのは、jQuery ライブラリ (通常は上記のコード例のようにヘッダー タグ内) と AJAX コード ブロックだけです。

勉強する他の例を次に示します。

より複雑な例

ドロップダウン 1 での選択に基づいてドロップダウン 2 を設定します

于 2013-09-26T19:04:09.660 に答える