Ajax调用在Javascript中的click()中不起作用

时间:2014-03-01 15:30:05

标签: javascript jquery ajax

我试图使用ajax和php动态更新我的页面。 ajax调用工作正常,直到我把它放在click()函数中。警报工作正常

$(document).ready(function(){
    $("#formbutton").click(function(){
        alert("test");
        $.ajax({
            url: 'url.php',
            type: 'GET',
            dataType: 'html',
            success: function (data) {
                $("#response").html(data);
            }
        });
    });
});

这在调试中工作正常:

$(document).ready(function(){
    alert("test");
    $.ajax({
        url: 'url.php',
        type: 'GET',
        dataType: 'html',
        success: function (data) {
            $("#response").html(data);
        }
    });
});

我做错了什么?感谢

1 个答案:

答案 0 :(得分:2)

按钮是否在FORM标签内?

如果是这种情况,请考虑按钮的默认行为是提交表单,可能您没有看到AJAX响应,因为提交表单的默认事件处理程序在AJAX成功处理程序之前执行

尝试:

  • 如果您不需要,请删除表格。

  • 如果您想保留表单,请使用“preventDefault”:

    $('#formbutton').click(function(evt) { evt.preventDefault(); /* ... */ });
    
  • 如果您使用的是button代码,则还可以将类型更改为“按钮”:<button type="button">,以确保浏览器未使用type=submit默认值。