Jquery 如何使用AJAX将字符串传递给控制器

Jquery 如何使用AJAX将字符串传递给控制器,jquery,asp.net,ajax,asp.net-mvc,razor,Jquery,Asp.net,Ajax,Asp.net Mvc,Razor,我似乎无法在按下按钮时将字符串传递给控制器这一非常简单的任务。接收到的数据始终为空。有人能告诉我我做错了什么吗 表格: 服务器端: [HttpPost] public IActionResult AddProcessName(string data) { pm.ID = 1; pm.Name = data; // I put a breakpoint here to check the value of 'data' return Content(pm.Name); }

我似乎无法在按下按钮时将字符串传递给控制器这一非常简单的任务。接收到的数据始终为空。有人能告诉我我做错了什么吗

表格:

服务器端:

[HttpPost]
public IActionResult AddProcessName(string data)
{
    pm.ID = 1;
    pm.Name = data; // I put a breakpoint here to check the value of 'data'
    return Content(pm.Name);
}

您告诉您的操作需要一个名为
data
的变量,但您没有发送该变量。您需要将jQuery AJAX请求的
data
属性更改为:

data: { data: processName },
我还建议您从操作中返回JSON,因为由于对空格的解释方式不同,纯文本最多只能是不稳定的。试试这个:

$(“#addElement”)。单击(函数(){
$.ajax({
类型:“POST”,
url:'@url.Action(“AddProcessName”)',
数据:{
数据:$(“#进程名”).val()
},
数据类型:“json”,
成功:功能(响应){
//使用console.log进行调试,并访问反序列化对象的属性
console.log(response.Name);
};
});
});
[HttpPost]
公共IActionResult AddProcessName(字符串数据)
{
pm.ID=1;
pm.Name=数据;
返回Json(新的{Name=pm.Name});
//或者只是:
//返回Json(下午);
}

它可以工作!非常感谢你。感谢您提供使用JSON的提示。
[HttpPost]
public IActionResult AddProcessName(string data)
{
    pm.ID = 1;
    pm.Name = data; // I put a breakpoint here to check the value of 'data'
    return Content(pm.Name);
}
data: { data: processName },