asp.net core 的 razor pages 如何使用ajax调用后台方法
Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法。
当网页被写入浏览器时,基于服务器的代码能够创建动态内容。
在网页加载时,服务器在向浏览器返回页面之前,会执行页面内的基于服务器代码。
由于是在服务器上运行,这种代码能执行复杂的任务,比如访问数据库。
razor pages 的渲染是由服务器完成的,后端Razor直接渲染模版,这就会导致服务器端的压力,
所以在遇到数据量过大的地方,还是由前端来渲染比较好,这就牵涉到了如何利用ajax调用 razor pages的后端代码了,
基于我的搜索结果,方式有两种:
方式一
参考:https://www.jb51.net/article/133437.htm
参考:http://www.cnblogs.com/mebius4789/p/8685755.html
这个方式我个人认为比麻烦,大家可以自行查看链接
方式二
参考:https://www.learnrazorpages.com/security/request-verification#ajax-post-requests
这个方式也是我接受的方式:
操作步骤如下:
1、Startup文件的ConfigureServices方法,添加下段:
services.AddMvc().AddRazorPagesOptions(o =>
{
o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());
});
整体如下:
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddRazorPagesOptions(o =>
{
o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());
});
2、Ajax请求
var postSubmit = $.ajax({
type: "POST",
url: "/yourformhandler",
data: JSON.stringify({ ... }),
contentType: "application/json"
}).done(function(response){
//...
});
举个栗子:
后端代码:
public class Index1Model : PageModel
{
public void OnGet()
{ } //url:"Index"
public IActionResult OnPost([FromBody]MyClass my)
{
return new JsonResult("Hello Response Back");
} //url: "Index?handler=Send"
public ActionResult OnPostSend([FromBody] MyClass my)
{
return new JsonResult(my);
} public class MyClass
{
public int speakerId { get; set; }
public bool currentYear { get; set; }
}
}
前端Ajax调用:
<h1>Index1</h1>
<button id="clickme">click me</button> @section Scripts
{
<script>
$('#clickme').click(function (e) {
var _data = {
"speakerId": ,
"currentYear": true
}; var postSubmit = $.ajax({
type: "POST",
url: "Index1?handler=Send",
data: JSON.stringify(_data),
contentType: "application/json"
}).done(function (response) {
alert(response);
});
})
</script>
}
asp.net core 的 razor pages 如何使用ajax调用后台方法的更多相关文章
- asp.net如何在前台利用jquery Ajax调用后台方法
一 :最近因为帮同事开发项目使用到了asp.net,而我又想实现Ajax异步请求....从网上查询了一下资料之后,原来在asp.net中利用Ajax调用后台方法同样很简单,为了便于自己以后查看,特将此 ...
- Asp.net中JQuery、ajax调用后台方法总结
通过上一篇文章实例的实现,整个过程当中学习到很多知识点,了解了Jquery.Ajax在asp.net中的运用,加以总结,其实原理都是一样的,理解了一种,其他的注意很少的区别就可以了.灵活运用: 1.有 ...
- [译]ASP.NET Core揭秘 - Razor Pages
原文 什么是Razor Pages? Razor pages是ASP.NET Core 2.0的新特性,它被设计用来更快的开发页面,比传统的MVC模式更便捷. 创建项目 为了使用Razor Pages ...
- Asp.Net Core SignalR 用泛型Hub优雅的调用前端方法及传参
继续学习 最近一直在使用Asp.Net Core SignalR(下面成SignalR Core)为小程序提供websocket支持,前端时间也发了一个学习笔记,在使用过程中稍微看了下它的源码,不得不 ...
- asp.net core 通过ajax调用后台方法(非api)
1. 在Startup.cs文件中添加: services.AddMvc(); services.AddAntiforgery(o => o.Heade ...
- asp.net ajax 调用后台方法
js代码 <form id="form1" runat="server"> <script language=javascript type= ...
- <asp:TextBox><asp:LinkButton><input button>调用后台方法后刷新页面
<asp:TextBox><asp:LinkButton>服务器控件,执行后台方法,会回调加载js,相当于页面重新加载,刷新页面 <input button>不能直 ...
- ASP.NET Core使用Razor页面
ASP.NET Core使用Razor页面 Razor是ASP.NET的页面引擎,在ASP.NET MVC 3以后被广泛使用,我在之前的博客中有所介绍,需要更多了解的朋友请移步[Razor语法] 在A ...
- 独立使用Asp.net Core 的razor模板 (一):Razor引擎的一些细节
由于最近需要写一些界面稍微好看点的Winform程序,如果用原生控件,,想要达到好看的程度,需要花费比较大的功夫,因为之前使用过CefSharp,因此发觉如果是使用CEF+Html的方式,界面可以相对 ...
随机推荐
- 初探kafka streams
1.启动zookeeper zkServer.cmd 2.启动kafka kafka-server-start.bat d:\soft\tool\Kafka\kafka_2.12-2.1.0\conf ...
- slf4j+log4j2模式的日志搭建
前言:今天打算为大家介绍一下我们我们在项目中必须得有的一个部分——日志!是的,就是那些让我们看着头疼的东西~~~好的日志可以帮助团队成员快速发现并解决问题,用好了可以大幅度提高代码缺陷修复效率!言归正 ...
- 转载泡泡机器人——IMU预积分总结与公式推导2
本文为IMU预积分总结与公式推导系列技术报告的第二篇. 承接第一篇的内容,本篇将推导IMU预积分的测量值,并分析其测量误差的分布形式. 传统捷联惯性导航的递推算法,以初始状态为基础,利用IMU测量得到 ...
- codeforces476D
Dreamoon and Sets CodeForces - 476D Dreamoon likes to play with sets, integers and . is defined as ...
- Golang 介绍与安装
1.介绍与安装 Golang 是什么 Go 亦称为 Golang(按照 Rob Pike 说法,语言叫做 Go,Golang 只是官方网站的网址),是由谷歌开发的一个开源的编译型的静态语言. Gola ...
- Codeforces Round #523 (Div. 2) D. TV Shows 模拟(多重集 先把所有区间加入多重集合)+贪心+二分
题意:给出n个电视节目的起始和结束时间 并且租一台电视需要x +y*(b-a) [a,b]为时段 问完整看完电视节目的最小花费是多少 思路:贪心的思想 情况1 如果新租一台电视的花费<=在空 ...
- 「ZJOI Day2」游记
Day-1 晚上一直在出自己做的模拟赛的T1,真的快要死掉了. 分类讨论几十种情况. 窝还是找了Bluesky大佬一起来验题,她瞬间就A掉了这一道题目...自闭了.. 诶,我还是太弱了. 之前教练组织 ...
- python并发编程之多进程基础知识点
1.操作系统 位于硬件与应用软件之间,本质也是一种软件,由系统内核和系统接口组成 和进程之间的关系是: 进程只能由操作系统创建 和普通软件区别: 操作系统是真正的控制硬件 应用程序实际在调用操作系统提 ...
- 【php】php7新特性及其优化原理
php7.x版本系列相比之前的php的版本提交性能提高了不少,这里面其中的一些主要改变是性能提高的关键,主要有以下内容. 1.zval使用栈内存 在zend引擎和扩展中,经常要创建php变量,其底 ...
- 小计:Shopee批量删除修复~附脚本
需求 昨天浪的时候,无意之间看到文职人员在一个个删除违禁商品,大概23个店铺,每个店铺500多个商品,页面是用Ajax异步加载的,每删一个就需要等几秒,粗略估计一下用时:9h左右 然后了解了下是什么情 ...