【问题标题】:JQuery getJSON in MVCMVC中的JQuery getJSON
【发布时间】:2013-05-03 06:48:42
【问题描述】:

我有以下 JSon 调用,我想在 Controller 中调用一个方法并接受 JSon 对象来更新部分视图:

<script type="text/javascript">
    function DoAjaxUpdate(btnClicked) {
        btnClicked = $(btnClicked);
        var $form = btnClicked.parents('form');
        var url = '@Url.Action("Remove")';


        $.getJSON(
            url,
            $form.serialize(),
        function () {                
            if (data.htmlPartialView != null) {
                return $("#divPartialView").load(obj.htmlPartialView);
            }
        });

        return false;
    }
</script>

不幸的是,这并没有正确传递数据,而是将其作为查询字符串附加到 URL,例如:http://www.myLink.com/MyController/Remove?dataID=1359&dataMember=1

请帮忙。谢谢

【问题讨论】:

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


【解决方案1】:

$("form").serialize() 就是这样。它将序列化表单上的所有内容并将其放在查询字符串中。

只要您的 Remove 操作方法采用原始视图上的模型实例,它就会使用查询字符串中的值进行转换。

要将其作为 JSON 发送,您必须使用 JSON.stringify()

JSON.stringify($form.serialize())

【讨论】:

  • 我将 $form.serialize() 更新为 JSON.stringify($form.serialize()) 但似乎仍然有相同的结果。我还需要其他更新吗?我错过了什么吗?
  • @Dak 嗯,那一定总是这样,作为查询字符串有什么害处吗?
  • 我收到 404 错误,因为没有名为“删除”的视图?我只想让这个函数调用 ActionMethod“Remove”并用更新的数据刷新“divPartialView”中的局部视图。
【解决方案2】:

回调需要参数,如下:

    $.getJSON(
        url,
        $form.serialize(),
        function (obj) {                
            if (obj.htmlPartialView) {
                $("#divPartialView").load(obj.htmlPartialView);
        }
    });

顺便说一句,if (obj.htmlPartialView)if (data.htmlPartialView != null)

相同

【讨论】:

    【解决方案3】:

    您正在调用getJSON,它将数据作为使用查询字符串的 GET 请求发送。如果您想使用 POST 方法,请使用(来自 jQuery 站点):

    $.post(url, data, function(data) {
    });
    

    $.ajax({
        type: "POST",
        url: url,
        data: data,
        success: success,
        dataType: dataType
    });
    

    更多信息:http://api.jquery.com/jQuery.post/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-30
      • 2023-03-10
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多