2

ここにあるチュートリアルに従って、タイトルの内容の基本的な理解を深めました。$.getJSONこれまでのところ、単純に機能していないという結論に達しました。

私は自分のコードをこれまで枯渇させました:

<script type="text/javascript">
        $(document).ready(function () {

            var usernameUnavailableRow = $('#usernameUnavailableRow');
            var availabilityMessage = $('#availabilityMessage');

            $("#UserName").hover(function () {
                //usernameUnavailableRow.hide();
            });

            $("#UserName").blur(function () {
            $.getJSON('/OCDB/UsernameAvailable.aspx?' + escape($(this).val()), function (results) {
                if (results.available) {
                    alert("available"); //Just checking if anything even returns
                } else {
                    alert("not available"); //Just checking if anything even returns
                }
            });
        });
        });
    </script>

<table>
         <tr>
            <td>
               <input id="UserName"></input>
            </td>
         </tr>
         <tr id="usernameUnavailableRow">
            <td>
               <span id="availabilityMessage">k</span>
            </td>
         </tr>
</table>

そして私のUsernameAvailable.aspxページはまさにこれを示し
{ "available" : "false"}
ています:
<%@ Page Language="C#" CodeFile="UsernameAvailable.aspx.cs" Inherits="UsernameAvailable" ContentType="application/json" %>

getJsonしかし、イベントでは何も起こりません。

自分の間違いが見えないので、どこが間違っているのか教えてください。

EDIT
コードを変更して Javascript が生成した 404 エラーを削除すると (@Archer に感謝)、結果は常に を返すようになりTrueました。False取得したユーザー名でページが返されることを確認しましたが、機能しています。

4

2 に答える 2

0

それですか、resultsそれとも(コードをもう一度確認してくださいitemalert(item);

また、有効なものを取得すると、jsonに表示されalert、アラートではobjectのみが表示されます。console.log(results);したがって、それをテストするには、代わりに書く必要がありますalert(item);

<input id="UserName"/>代わりに書くことができるもう1つのこと<input id="UserName"></input>

于 2013-02-06T12:47:33.503 に答える
0

あなたはそのリンクのこの行を見落としました:

UsernameAvailable.aspxページでは、次のように、クエリ文字列で目的のユーザー名が指定されている必要があります。UsernameAvailable.aspx?desiredUsername

これを行う必要があります:

$.getJSON('UsernameAvailable.aspx?' + escape($(this).val()), function (results){
    if (results.available) {
        // available
    }
    else{
        // unavailable
    }
});
于 2013-02-06T12:48:29.277 に答える