jQuery AJAX Post 字符串到 MVC 控制器空参数
jQuery AJAX Post String to MVC Controller Null Parameter
我有一个非常简单的 AJAX 调用,我正在尝试进行调用,这是一个搜索字符串,它将 POST 控制器的值作为搜索字符串。
$.ajax({
url: '/ResultsProcessing/AthleteLookup/n',
type: 'POST',
data: searchstring,
processData: false,
contentType: "application/x-www-form-urlencoded",
dataType: 'html',
success: function (response) {
console.log(response);
if (response) { // check if data is defined
//Do something
}
}
});
但是,无论我尝试和配置什么,我的控制器都从未收到字符串参数
[HttpPost]
public async Task<IActionResult> AthleteLookup(string searchstring)
这可能真的很愚蠢。但是如何将搜索参数传递给我的控制器
尝试修改您的代码如下:
$.ajax({
url: '/ResultsProcessing/AthleteLookup',
type: 'POST',
data: { "searchstring": $("#txtSearch").val() }, //get the search string
success: function (response) {
console.log(response);
if (response) { // check if data is defined
//Do something
}
}
});
或者您可以在请求的末尾附加搜索字符串 url,代码如下:
[注意]使用此方法,不需要将Ajax方法设置为Post并使用控制器中的[HttpPost]
属性,我们可以使用Get
方法。
$.ajax({
url: '/ResultsProcessing/AthleteLookup/?searchstring=' + $("#txtSearch").val(),
type: 'POST',
success: function (response) {
console.log(response);
if (response) { // check if data is defined
//Do something
}
}
});
控制器代码如下:
[HttpPost]
public async Task<IActionResult> AthleteLookup(string searchstring)
{
return new JsonResult("Search string: " + searchstring);
}
测试结果如下:
我有一个非常简单的 AJAX 调用,我正在尝试进行调用,这是一个搜索字符串,它将 POST 控制器的值作为搜索字符串。
$.ajax({
url: '/ResultsProcessing/AthleteLookup/n',
type: 'POST',
data: searchstring,
processData: false,
contentType: "application/x-www-form-urlencoded",
dataType: 'html',
success: function (response) {
console.log(response);
if (response) { // check if data is defined
//Do something
}
}
});
但是,无论我尝试和配置什么,我的控制器都从未收到字符串参数
[HttpPost]
public async Task<IActionResult> AthleteLookup(string searchstring)
这可能真的很愚蠢。但是如何将搜索参数传递给我的控制器
尝试修改您的代码如下:
$.ajax({
url: '/ResultsProcessing/AthleteLookup',
type: 'POST',
data: { "searchstring": $("#txtSearch").val() }, //get the search string
success: function (response) {
console.log(response);
if (response) { // check if data is defined
//Do something
}
}
});
或者您可以在请求的末尾附加搜索字符串 url,代码如下:
[注意]使用此方法,不需要将Ajax方法设置为Post并使用控制器中的[HttpPost]
属性,我们可以使用Get
方法。
$.ajax({
url: '/ResultsProcessing/AthleteLookup/?searchstring=' + $("#txtSearch").val(),
type: 'POST',
success: function (response) {
console.log(response);
if (response) { // check if data is defined
//Do something
}
}
});
控制器代码如下:
[HttpPost]
public async Task<IActionResult> AthleteLookup(string searchstring)
{
return new JsonResult("Search string: " + searchstring);
}
测试结果如下: