如何在页面上运行GET / POST和JSON RESULT?

时间:2010-08-19 18:25:46

标签: c# javascript jquery html asp.net-mvc

我有一个执行JSON结果的页面,在控制器中使用两个提交按钮获取和发布方法。一个按钮仅用于重定向的Post方法,另一个按钮用于JsonResult方法(名为AddTableData)。如何在我的JQuery代码中设置它?

$('#firstSubmit').click(function() {
    $(document).submit(function() {
    });
});

$('#secondSubmit').click(function() {
    $('#addTable').submit(function() {
        $.post($(this).attr("action"), $(this).serialize(), function(response) {
            ...load Table
        });
        return false;
    });
});

<%using (Html.BeginForm("LoadTable", "Home", FormMethod.Post, new { id = "addTable" })) %>
    <td><input id="Submit1" type="submit" name="firstSearch" value="Search" /></td>
    <td><input id="Submit2" type="submit" name="secondSearch" value="Search" /></td>

如何使用firstSubmit仅发布帖子,第二次提交仅用于JsonResult?

修改

$('#secondSubmit').click(function() {
    $.getJSON("Home/AddTableData", {Name:"Name on Document"}, function(json) {
        alert("good");
    });
});    

通常在get / post函数中获取的变量消失了。如何将它们发布到我的JSon函数中?

3 个答案:

答案 0 :(得分:2)

假设我正确理解你,我有2个答案......

  1. 为什么只使用JavaScript发布没有Ajax的表单?

  2. 如果您必须使用JavaScript发布表单,请提交表单,而不是文档,如下所示:

    $('form').submit();

答案 1 :(得分:1)

$('#firstSubmit').click(function() {
  $('#addTable').submit();
});

$('#secondSubmit').click(function() {
  $.getJSON("Home/AddTableData", $('#addTable').serialize(), function(json) {
    alert("good");
  });
});


<%using (Html.BeginForm("LoadTable", "Home", FormMethod.Post, new { id = "addTable" })) %>
<td><input id="Submit1" type="button" name="firstSearch" value="Search" /></td>
<td><input id="Submit2" type="button" name="secondSearch" value="Search" /></td>

答案 2 :(得分:0)

我没有测试过这个:

$('#secondSubmit').click(function() {
    $url = 'Home/AddTableData/?'+$('#add_table').children('input').serialize()
    $.getJSON($url, {Name:"Name on Document"}, function(json) {
        alert("good");
    });
});