ajax - Asp.net Core 3.1 MVC Ajax 调用方法
问题描述
我的控制器中有这个方法:
public async Task<string> AjaxMethod()
{
//some codes
var jsonResults = JsonConvert.SerializeObject(results);
return jsonResults;
}
我对此方法进行了 ajax 调用,它的工作原理符合我的预期。
我意识到,当我通过 url(如 localhost:50000/Controller/AjaxMethod)访问此方法时,它会在 Web 浏览器上显示所有数据,我不想要这个。
防止此问题的最佳方法是什么?
附加信息:我正在使用 asp.net 身份,我的控制器顶部有 [AutoValidateAntiforgeryToken] 属性。
解决方案
您可以将您的操作更改为这样发布:
[HttpPost]
public async Task<string> AjaxMethod()
{
//some codes
var jsonResults = JsonConvert.SerializeObject(results);
return jsonResults;
}
然后在你的 ajax 中使用:
type: "POST",
这样就无法使用 localhost:50000 / Controller / AjaxMethod 在浏览器中获取数据。
推荐阅读
- reference - 自引用循环EntityFramework问题,另一种解决方法?
- debugging - gdb中的自定义数组打印
- typescript - ts 规则 noImplicitAny 似乎不起作用
- powershell - 尝试在 Powershell 中获取用户名时出错
- terraform - Terraform 使用输出变量作为另一个资源中的输入
- c++ - 如果我只知道值的参数,如何从映射(由结构组成)中获取值
- python - 使用正则表达式选择文本的特定部分
- android - 来自 Room 的小部件中的 setImageViewUri
- python - Tkinter Treeview 不包含在窗口中
- amazon-web-services - 不接受 S3 存储桶 CORS 配置