问题描述
在我的 Asp.net 项目和名为“AjaxController”的控制器中,我有这个操作方法:
[HttpPost]
public ActionResult GetList(int year)
{
var res="";
// some codes
return Json(res);
}
在 Js 文件中:
$.ajax({
url: '/Ajax/GetList/',type: "POST",contentType: "application/x-www-form-urlencoded; charset=UTF-8",data: 2000,async: false,success: function (response) {
// some codes
},error: function (xhr,status,error) {
alert(error);
},});
我希望这个方法只能用“POST”调用,但是当我检查我的日志时,我会看到一些错误,如:
AbsoluteUri :https://example.com/Ajax/GetList/
* Message :A public action method 'GetList' was not found on controller 'Controllers.AjaxController'.
这显示称为“GET”,而不是“POST”。 问题出在哪里? 感谢高级
解决方法
我的一些建议 -
- 除非确实需要,否则删除 contentType 和 async 属性
- 将 JSON 对象传递给“数据”
- 此外,请慷慨地使用调试器和断点来找出代码出错的地方
$.ajax({
url: '/Ajax/GetList/',type: "POST",//contentType: "application/x-www-form-urlencoded; charset=UTF-8",data: {year: 2000},//async: false,success: function (response) {
debugger;
// some codes
},error: function (xhr,status,error) {
debugger;
alert(error);
},});