Jquery 如何将ajax中的字符串列表传递给控制器mvc。我无法访问come控制器值
我的jquery函数是将字符串列表“checkhkbvals”发送给控制器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
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