Jquery Ajax函数在提交的表单中不起作用

Jquery Ajax函数在提交的表单中不起作用,jquery,asp.net-mvc-3,forms,getjson,Jquery,Asp.net Mvc 3,Forms,Getjson,例如,在提交表单时,我希望使用$.getJson从服务器获取数据 我写道: $(function () { $('#websiteForm').submit(function (event) { $.getJSON('Home/checker', function (data) { alert(data); }); }); }) 我的表格: <form action="" method="post" id="webs

例如,在提交表单时,我希望使用$.getJson从服务器获取数据

我写道:

$(function () {
    $('#websiteForm').submit(function (event) {
        $.getJSON('Home/checker', function (data) {
            alert(data);
        });
    });
})
我的表格:

<form action="" method="post" id="websiteForm">
    <input type="text" name="txtWebsite" id="txtWebsite" />
    <input type="submit" name="submit" />
</form>


但是当我点击提交表单时,什么也没有显示。我在页面加载上测试了我的
$.getJSON
函数,它工作得很好,所以我不知道为什么这个函数不工作。

这应该可以让它工作

$(function () {
    $('#websiteForm').submit(function (event) {
        $.getJSON('Home/checker', function (data) {
            alert(data);
        });
        return false;
    });
});

返回false您提交表单(页面重新加载)以停止javascript

这将使其正常工作

$(function () {
    $('#websiteForm').submit(function (event) {
        $.getJSON('Home/checker', function (data) {
            alert(data);
        });
        return false;
    });
});

返回false
您提交表单(页面重新加载),该表单将停止javascript,并替换类型submit by buttom

    $(function () {
        $('button').click(function (event) {
            $.getJSON('Home/checker', function (data) {
                alert(data);
            });
        });
    })

<form action="" method="post" id="websiteForm">
<input type="text" name="txtWebsite" id="txtWebsite" />
<input type="button" name="button" />
</form>
$(函数(){
$(“按钮”)。单击(函数(事件){
$.getJSON('Home/checker',函数(数据){
警报(数据);
});
});
})

$(函数(){
$(“#网站表单”).submit(函数(事件){
$.getJSON('Home/checker',函数(数据){
警报(数据);
});
返回false;
});
})

替换buttom提交的类型

    $(function () {
        $('button').click(function (event) {
            $.getJSON('Home/checker', function (data) {
                alert(data);
            });
        });
    })

<form action="" method="post" id="websiteForm">
<input type="text" name="txtWebsite" id="txtWebsite" />
<input type="button" name="button" />
</form>
$(函数(){
$(“按钮”)。单击(函数(事件){
$.getJSON('Home/checker',函数(数据){
警报(数据);
});
});
})

$(函数(){
$(“#网站表单”).submit(函数(事件){
$.getJSON('Home/checker',函数(数据){
警报(数据);
});
返回false;
});
})

我对mvc不太熟悉,但我知道在asp.net中,它执行doPostBack javascript函数来提交表单,这与实际提交表单不同,因此如果mvc执行相同的操作,您可能不会实际触发该事件。我相信您可以绑定到javascript中内置的事件处理程序中,doPostBack将为您触发这些事件处理程序,尽管我不能立即命名它们。您忘记了在提交处理程序中返回false或防止默认值我对mvc不太熟悉,但我知道,在asp.net中,它执行doPostBack javascript函数来提交表单,这与实际提交表单不同,因此如果mvc执行相同的操作,您可能不会实际触发该事件。我相信您可以绑定到javascript中内置的事件处理程序,doPostBack将为您启动这些事件处理程序,尽管我不能立即命名它们。您忘记了在提交处理程序中返回false或防止默认值按钮不是一个好主意,因为大多数浏览器在警报后的一个输入字段sinsert window.location=“url”内按enter键时调用submit EVENT。准备好了吗,一场胜利,什么?请进一步解释?@AmirHossein,if$.getJSON:success将用户重定向到其他页面(window.location=“url”)。if$.getJSON:error用一条消息向用户发出警报,但没有重定向。该按钮不是一个好主意,因为大多数浏览器在警报后的一个输入字段sinsert window.location=“url”内按enter键时调用submit EVENT。准备好了吗,一场胜利,什么?请进一步解释?@AmirHossein,if$.getJSON:success将用户重定向到其他页面(window.location=“url”)。if$.getJSON:error向用户发出消息警告,但不重定向。