【问题标题】:MVC Ajax call to Controller Method with Parameter connects but Parameter value is nullMVC Ajax 调用带有参数的控制器方法连接但参数值为空
【发布时间】:2020-04-27 03:27:55
【问题描述】:

我能够将我的 ajax 调用连接到控制器,但是当参数到达控制器时显示为 null。我通过此调用传递参数的正确方法是什么? '''

  //In the Index Controller
  [HttpGet]
    public IActionResult TestFunction(string par1)
    {
        int i = 2;
        return view()
    } 

    function onDropDownChange() {
    alert('We are starting to call function');

    var url = '/Index/TestFunction/Cat'
    $.ajax({
        url: url,
        data: {},
        type: 'GET',
        datatype: 'json',
        success: function (data) { alert('Successful call') },
        error: function () {alert('Failed Call')}
        })
}  

   '''

【问题讨论】:

  • 请将data传入ajax参数
  • data: {} 仅用于检查data: {par1:"Test value"},

标签: javascript c# ajax asp.net-mvc


【解决方案1】:

使用 ajax 的 data 选项。您可以通过 ajax 中的数据选项将数据对象发送到服务器。

例子--

 function onDropDownChange() {

    var url = '/Index/TestFunction/Cat'
    $.ajax({
        url: url,
        data: {par1: "Some value"},//pass your obect
        type: 'GET',
        datatype: 'json',
        success: function (data) { alert('Successful call') },
        error: function () {alert('Failed Call')}
        })
}  

【讨论】:

  • 成功了,谢谢!我没有意识到您需要将参数槽添加到 url 的末尾和数据部分中。
【解决方案2】:

请在控制器操作中检查此绑定下拉值

function onDropDownChange(elem) {
    alert('We are starting to call function');

    var url = '/Index/TestFunction/Cat'
    $.ajax({
        url: url,
        data: {par1:$(elem).val()},
        type: 'GET',
        datatype: 'json',
        success: function (data) { alert('Successful call') },
        error: function () {alert('Failed Call')}
        })
}  

在调用这个函数时需要传递这个参数。

例如

<select onchange="onDropDownChange(this)">
///<option> tag
</select>

【讨论】:

    猜你喜欢
    • 2019-07-09
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    相关资源
    最近更新 更多