通过JavaScript AJAX GET将参数传递给MVC控制器

时间:2015-11-24 20:38:49

标签: javascript c# jquery json ajax

我试图通过JavaScript中的AJAX将一组数据传递给我的C#控制器。传递的数据并不总是相同的。完全没有创建/更新/删除系统,这完全是一个读操作。

我的对象如下:

values = {
    Id: [SOME INT ID],
    DB: [SOME DB ID],
    Values: [{collection of values}]
}

这是我的ajax电话:

$.ajax({
    url: "MYURL?" + encodeURIComponent(JSON.stringify(values)),
    type: "GET",
    success: function(data){
        // do callback stuff
    },
    dataType: "json"
});

我的控制器是:

[HttpGet]
public ActionResult MyController(DataViewModel viewModel){
    // Stuff and Things code
}

根本没有在viewModel的控制器中填充数据。所有值都为null。如何将JSON数据传递到控制器?提前谢谢。

1 个答案:

答案 0 :(得分:2)

您的ajax调用应该是以下内容:

$.ajax({
    url: "MYURL",
    type: "GET",
    success: function(data){
        // do callback stuff
    },
    data: values
});

您的代码中存在的一些问题包括您在url:行末尾使用分号而不是逗号而dataType:设置了响应数据类型(而不是请求数据类型) ,发送到服务器)。