如果我在 ajax 调用中使用两个变量,则获取空值

Getting null value if i use two variables in ajax call

我在 ajax 调用中调用操作方法,但是当我在 data:test 中使用单个变量时,值即将到来,但是当我使用 data: '{"testData":"' + test + '","feature":"' + test + '"}' 时,它为我提供了两个空值变量。 下面是 javascript

的代码
$.ajax({
        url: '@(Url.Action("UpdatePlanFeatVal", "SuperAdmin"))',
        type: "POST",
        dataType: "json",
        //data: JSON.stringify({ testData: test, feature: test}),
        // data: '{"testData":"' + test + '","feature":"' + test + '"}',
        data:test,
        success: function (result) {  
        },
        error: function (err) { 
        }
    });

和动作控制器

public ActionResult UpdatePlanFeatVal(string testData, string feature)
{   
   var cmd = (object)null;
   testData = testData.Trim();
   feature = feature.Trim();

   using (StoredProcedureContext sc = new StoredProcedureContext())
   {            
        cmd = sc.EditPricing(testData, feature);         
   }

   return View("ManageSubscriptionPlan");
}

请告诉我我做错了什么,而且它也没有重定向到 ManageSubscriptionView

下面的代码将帮助您发送对象中的信息,该值将能够接收到控制器端。

    var obj = {
        "testData": "test",
        "feature": "test"
    };
    $.ajax({
        type: "POST",
        url: '@(Url.Action("UpdatePlanFeatVal", "SuperAdmin"))',
        data: JSON.stringify(obj),
        dataType: "json",
        contentType: "application/json",
        success: function (data) { alert(data.chardata); },
        error: function (a, b, c) {
            alert("Error");
        }
    });

试试这个:

$.ajax({
    type: "POST",
    url: '@Url.Action("UpdatePlanFeatVal", "SuperAdmin")',
    data: { testData: 'test', feature: 'test' },
    dataType: "json",
    success: function (result) {  
    },
    error: function (err) { 
    }
});