Jquery 如何将ajax中的字符串列表传递给控制器mvc。我无法访问come控制器值

Jquery 如何将ajax中的字符串列表传递给控制器mvc。我无法访问come控制器值,jquery,ajax,post,model-view-controller,Jquery,Ajax,Post,Model View Controller,我的jquery函数是将字符串列表“checkhkbvals”发送给控制器 var checkKhbVals=["8","9"]; var url = '@Url.Action("AkademikPersonel_GetMultiCheckBoxKurum", "Doktor")'; $.getJSON(url, { 'checkKhbVals': JSON.stringify(checkKhbVals) }, function (result, status, xh

我的jquery函数是将字符串列表“checkhkbvals”发送给控制器

 var checkKhbVals=["8","9"];
 var url = '@Url.Action("AkademikPersonel_GetMultiCheckBoxKurum", "Doktor")';
            $.getJSON(url, { 'checkKhbVals': JSON.stringify(checkKhbVals) }, function (result, status, xhr) {
                filterMultiCheck.container.empty();               
                filterMultiCheck.checkSource.data(result);
                filterMultiCheck.createCheckBoxes();
            });
我的控制器是

 public JsonResult AkademikPersonel_GetMultiCheckBoxKurum(List<string> checkKhbVals)
        {           
            var result = Business.Kurum.GetKurumMultiCheckBox();
            return Json(result, JsonRequestBehavior.AllowGet);
        }
public JsonResult-AkademikPersonel_GetMultiCheckBoxKurum(列表检查)
{           
var result=Business.Kurum.getkurumulticheckbox();
返回Json(结果,JsonRequestBehavior.AllowGet);
}
我的数据正在进入控制器,但我无法访问值。这是我的截图;

您应该删除
stringify


使用
checkKhbVals.ToString()
代替
JSON.stringify(checkKhbVals)
我解决了这个问题。我在这篇文章中使用了ajax帖子

var da = $.ajax({
                async: false,
                type: "POST",
                global: false,
                dataType: 'json',
                url: '@Url.Action("AkademikPersonel_GetMultiCheckBoxKurum", "Doktor")',
                data: { 'checkKhbVals': checkKhbVals },
                success: function(data)
                {                    
                    console.log(data);
                }
            });

控制器参数是List

使用
checkKhbVals.ToString()
而不是
JSON.stringify(checkKhbVals)
删除
JSON.stringify
,只需直接在对象中提供
checkKhbVals
,您必须将
contenType
设置为
'application/JSON'
,并使用
JSON.stringify({checkKhbVals:checkKhbVals})
(更容易使用
ajax()
方法进行此操作)当我直接发送控制器参数中的checkKhbVals时,在RoryMcCrossanI use tostring()中为null,但屏幕截图为;在controller parametre@Parth Trivediuse
列表中为checkKhbList[0]->“7,8”,并删除
.tostring()
@user3452425已删除
.ToString()
仅直接数组传递。@user3452425您可以使用
$.post
美元.post和美元.ajax有什么区别?@ParthTrivedi