Razor Page中的AJAX
2024-09-16 13:35:15
1.由于Razor Pages自带提供防伪令牌/验证,用来防止跨站点请求伪造(称为XSRF或CSRF),所以和MVC框架中API使用方式有稍许的不同。
2.所以在我们使用Razor Pages中的form表单提交数据时,框架会自动帮我们生成一个隐藏的Input,并在我们提交表单时加入在请求报文头中。
<input name="__RequestVerificationToken" type="hidden" value="CfDJ8P-uB18ojyNBnPHyBPpQMcjMi3bb01uB9VeJk0C6GO2bVdSnt7aSGr63GOKObkLt7HBZqhVPvlmS9GLn8-To2XHw5F1L3ARqXFsXQhqpMSnuVSRBpYkZo6-7Gtv3CJrUTR6uRZdEh5ZwKsLpZSqdZEs" />
3.然而我们使用AJAX向一个post方法提交数据时,就会发现服务器端返回400状态码,这是因为我们在请求头并未携带token过去,所以我们应该这样写
@Html.AntiForgeryToken() //在html页面上生成隐藏的input,token就存放在里面,当然要是你的页面上有form表单也就不用写上这个
$.ajax({
method: 'post',
url: "/?handler=Data",
headers: {
RequestVerificationToken:
$('input:hidden[name="__RequestVerificationToken"]').val()
},
success: function (data) {
console.log(data);
}, error: function (error) {
console.log(error);
}
})
最新文章
- 记一次使用openrowset 的坑
- 微软曝光眼球追踪新专利,未来或将可以使用眼球控制HoloLens
- BootStrap Progressbar 实现大文件上传的进度条
- hibernate_validator_07
- 开源语音识别系统 Simon
- Javascript多线程引擎(六)
- iOS基础 - Quartz 2D绘图的基本步骤
- HDU 1008 u Calculate e
- [ext4]03 磁盘布局 – Flexible group分析
- 201521123018 《Java程序设计》第1周学习总结
- WPF之ViewModel
- SpringMVC和Struts2的比较
- 软件测试实验四----mujava变异测试
- 详解slab机制
- 【学习笔记】深入理解HTTP协议
- ceph PG数量调整/PG的状态说明
- import sys
- hadoop参数传递
- 用EL時(el-api.jar,el-ri.jar ),要設isELIgnored="false"
- Linux-支持中文