使用jquery的AJAX调用向控制器发送字符串参数

使用jquery的AJAX调用向控制器发送字符串参数,jquery,Jquery,我有一个类似于ajax的调用 this.GetTransactionsInputToday = function () { var status="complete" $.ajax({ url: '/Management/function1', contentType: "application/json; charset=utf-8", da

我有一个类似于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;
                 }
             });
         }
我也试过这样做

this.GetTransactionsInputToday = function () {
             var status="complete"; 
              $.ajax({
                     url: '/Management/function1/' + status,
                     type: 'GET',
                     cache: false,
                     success: function (result) {
                         return result;
                     }
                 });
             }
我的管理控制器类中有一个控制器函数

public JsonResult function1(string status)
{
Some code here.. 
}
问题是每次调用function1时,status的值都为null。
有人能告诉我哪里出了问题吗?

您可能错误地构造了json参数

使用json:
数据:“{'prop1':'”+value1+“}”


尝试在ajax函数之外设置变量,然后返回它,这样它就在正确的范围内。此外,为了获得即时值,您需要使此ajax调用同步

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

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

    return r;
};

您需要为发送的数据定义名称
数据:{'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;
};

另外,您的
this.GetTransactionsInputToday
也不会像您预期的那样返回结果。异步调用ajax函数的成功处理程序。因此,您的
returnr
语句将在Ajax请求完成之前调用时返回'

是否有方法实现此目的:func='getDetails';数据='数据负载';然后在$.ajax({…data:{func:data}。?现在它发送名为func的字符串,所以在php中是$\u POST['func'],我想将字符串内容作为名称发送给php,而不是'func',而是$\u POST['getDetails']。有什么想法吗?请更改标题,因为问题不在简单字符串之上
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;
};