为啥 Asp.net Core 无法读取 Ajax 参数?
Posted
技术标签:
【中文标题】为啥 Asp.net Core 无法读取 Ajax 参数?【英文标题】:why Asp.net Core can not read Ajax parameters?为什么 Asp.net Core 无法读取 Ajax 参数? 【发布时间】:2020-10-02 13:58:12 【问题描述】:我正在使用 Asp.net MVC Core 和 Jquery Ajax 插入到我的数据库中。
问题总结 我无法读取 Home-Controller 操作中的参数。这意味着我可以成功执行 Ajax 插件并使用跟踪点毫无问题地访问 Home 控制器,但无法检索传递的值“Vals”。
我试过了 使用 Ajax 块制作一个 Jquery 插件,将 JSON 字符串发送到 Home-Controller
JQuery 插件
(function ($)
$.fn.CallSqlServer = function (URL, JsonVal)
var vals = JSON.stringify(JsonVal);
var msg;
$.ajax(
type: "Get",
url: URL,
data: vals,
dataType: "json",
contentType: 'application/json; charset=utf-8',
success: function (data)
msg = data.msg;
,
error: function ()
msg = "Error occured!!";
);
return msg;
)(jQuery);
我这样称呼它
$('#btninsert').click(function ()
var Student =
ID: '10001',
Name: 'Shashangka',
Age: 31
;
$('#btninsert').CallSqlServer("/Home/Index/",Student);
);
Home-Controller => 动作索引
[HttpGet]
public IActionResult Index(string vals)
return View(vals);
【问题讨论】:
【参考方案1】:数据应该是代表URL查询参数和值的键值对:
(function ($)
$.fn.CallSqlServer = function (URL, JsonVal)
var vals = JSON.stringify(JsonVal);
var msg;
$.ajax(
type: "Get",
url: URL,
data:
"vals": vals
,
dataType: "json",
contentType: 'application/json; charset=utf-8',
success: function (data)
msg = data.msg;
,
error: function ()
msg = "Error occured!!";
);
return msg;
)(jQuery);
【讨论】:
以上是关于为啥 Asp.net Core 无法读取 Ajax 参数?的主要内容,如果未能解决你的问题,请参考以下文章
asp.net core prerender webpack 错误:TypeError:无法读取属性“过滤器”
在 ASP.NET Core 中使用 ajax 向控制器发送数据
我的 ASP.NET Core 应用程序说它无法读取 web.config