簡體   English   中英

MVC中的jQuery getJSON

[英]JQuery getJSON in MVC

我有以下JSon調用,我想在Controller中調用一個方法並接受JSon對象以更新Partial View:

<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

請幫忙。 謝謝

這是什么情況$("form").serialize() 它將序列化形式的一切,並把它的查詢字符串。

只要你的Remove操作方法采用打開原始視圖模型的實例,那么它將在查詢字符串中使用的值轉化。

為了將其作為JSON,你不得不使用JSON.stringify()

JSON.stringify($form.serialize())

回調需要參數,如下所示:

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

順便說一下, 如果(obj.htmlPartialView)是相同的,以IF(data.htmlPartialView!= NULL)

您正在調用getJSON ,它將使用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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM