使用jQuery的AJAX调用将字符串参数发送到控制器

Gau*_*tam 2 jquery

我有一个类似的ajax调用

this.GetTransactionsInputToday = function () {
             var status="complete"
             $.ajax({
                 url: '/Management/function1',
                 contentType: "application/json; charset=utf-8",
                 data: status,
                 type: 'GET',
                 cache: false,
                 success: function (result) {
                     return result;
                 }
             });
         }
Run Code Online (Sandbox Code Playgroud)

我也试过这样做

this.GetTransactionsInputToday = function () {
             var status="complete"; 
              $.ajax({
                     url: '/Management/function1/' + status,
                     type: 'GET',
                     cache: false,
                     success: function (result) {
                         return result;
                     }
                 });
             }
Run Code Online (Sandbox Code Playgroud)

我的管理控制器类中有一个控制器功能

public JsonResult function1(string status)
{
Some code here.. 
}
Run Code Online (Sandbox Code Playgroud)

问题是每次调用function1时,status的值都为null.任何人请告诉我哪里出错?

Vir*_*tel 14

您需要为发送的数据定义名称 data: {'status': status}:

this.GetTransactionsInputToday = function () {
    var status="complete"
    var r = '';

    $.ajax({
        url: '/Management/function1',
        contentType: "application/json; charset=utf-8",
        data: {'status': status},
        type: 'GET',
        cache: false,
        success: function (result) {
            r = result;
        }
    });

    return r;
};
Run Code Online (Sandbox Code Playgroud)

此外,您this.GetTransactionsInputToday不会按预期返回结果.ajax函数的成功处理程序被异步调用.因此,在Ajax请求完成之前调用它时,您的return r语句将返回''.