0

AJAX 経由で結果を取得しているときに読み込み中のメッセージを表示したいのですが、できません。誰でも助けてもらえますか?

<script type="text/javascript">

$(function() {

    $(".search_button").click(function() {
        // getting the value that user typed
        var searchString    = $("#search_box").val();
        // forming the queryString
        var data            = 'search='+ searchString;

        // if searchString is not empty
        if(searchString) {
            // ajax call
            $.ajax({
                type: "POST",
                url: "do_search.php",
                data: data,
                beforeSend: function(html) { // this happens before actual call
                    $("#results").html('');
                    $("#search_result_box").show();
                    $("#searchresults").show();
                    $(".word").html(searchString);
               },
               success: function(html){ // this happens after we get results
                    $("#results").show();
                    $("#results").append(html);
              }
            });   
        }
        return false;
    });
});
</script>
4

2 に答える 2

2

読み込み中のメッセージを表示/非表示にするためにbeforeSendメソッドとsuccessメソッドを使用しないのはなぜですか

beforeSend: function(html) { // this happens before actual call

  // DO SOMEHTING HERE TO SHOW YOUR LOADING MESSAGE AS $('#loading').show();

  $("#results").html('');
  $("#search_result_box").show();
  $("#searchresults").show();
  $(".word").html(searchString);
},
success: function(html){ // this happens after we get results

  // DO SOMEHTING HERE TO HIDE YOUR LOADING MESSAGE AS $('#loading').hide();

  $("#results").show();
  $("#results").append(html);
}

rgds

于 2012-11-08T11:20:18.290 に答える
2

AJAX リクエストを発行する前にメッセージを変更します。したがって、クリック時または送信時:

<script>
$('form').on('submit', function(e) {
    e.preventDefault();
    $('#response').html('<p>Loading&hellip;</p>');
    $.post($(this).attr('action'), $(this).serialize(), function(response) {
        // do something here with the response
        $('#response').html('<p>Request successful.</p>');
    });
});
</script>
于 2012-11-08T11:15:50.813 に答える