jquery - 为什么 Asp.net Core 无法读取 Ajax 参数?
问题描述
我正在使用 Asp.net MVC Core 和 Jquery Ajax 插入我的数据库。
问题总结
Home-Controller的Action中看不到参数。这意味着我可以成功执行 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);
}
解决方案
数据应该是表示 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);
推荐阅读
- java - 加载没有关联的实体
- php - 为什么我的左连接在我的 php mysql 数据库中不起作用?
- php - Laravel,不同子域上的相同路径使用错误的控制器
- python - 将 * 参数与常规参数混合
- visual-studio - Visual Studio 2017 无法识别 Webpack 源映射
- python-3.x - 使用 pykinect 和 python3 轻松获取 rgb 和深度图像流
- javascript - 将 immutability-helper 与 Array、Object、Map 一起使用
- python - 从 xml 文件中解析文章
- java - 更改表格中的预览字体?
- bash - $$ 是否可以获取正在迭代的变量的值?