ajax请求后页面刷新

时间:2015-09-06 12:05:57

标签: javascript php jquery ajax

好吧,我有一个只包含text field的简单表格。当我们点击提交(通过ajax存储)时,在文本字段中写入的数据将存储在DB中。 ajax工作正常,数据已提交,但页面get会自动刷新,URL包含输入字段的内容。

我的表格: -

<form class="form-horizontal">
                <fieldset>

                <!-- Text input-->
                <div class="form-group">
                  <label class="col-md-4 control-label" for="message"></label>  
                  <div class="col-md-5">
                  <input id="message" name="message" type="text" placeholder="message" class="form-control input-md" required="">

                  </div>
                </div>

                <!-- Button -->
                <div class="form-group">
                  <label class="col-md-4 control-label" for="submit_message"></label>
                  <div class="col-md-4">
                    <button id="submit_message" name="submit_message" class="btn btn-success">Enter</button>
                  </div>
                </div>

                </fieldset>
                </form>

Ajax: -

$("#submit_message").click(function() {
    var message = $("#message").val();
    $.ajax({
      type: "POST",
      url: "ajax_getter.php?requestid=2",
      data: { message: message, c: c },
      dataType: "html"
    }).done(function( msg ) {
      //load_content();
      alert(msg);
});
});

PHP: -

//...
if($chat->insert("chat_threads", $arr))
    {
        echo 1;
    }
    else
    {
        echo 0;
    }

结果显示在popup后,页面刷新和网址变为: - chat.php?message = 454545&amp; submit_message = 为什么要刷新页面?

1 个答案:

答案 0 :(得分:9)

似乎您的表单已提交。尝试阻止默认事件(即提交):

$("#submit_message").click(function(e) {
    e.preventDefault();    // This prevents form from being sumbitted
    // the rest of your code
});