gpt4 book ai didi

javascript - 如何将 AntiforgeryToken 与 dropzone.js 一起使用,将 MVC 5 与 Vanilla JS 一起使用?

转载 作者:数据小太阳 更新时间:2023-10-29 06:16:01 27 4
gpt4 key购买 nike

我现在正试图弄清楚如何使用 Dropzone.js 和 vanilla javascript(无 jQuery)发送防伪 token 。

这是我目前的初始化代码:

$(document).ready(function (e) {
var myDropzone = new Dropzone("#myDropzone", { url: "/Media/AjaxUpload", maxFilesize: 10, addRemoveLinks: true, maxFiles: 1 });
myDropzone.on("success", function (response) {
//Do some personal stuff.
});
myDropzone.on("sending", function (xhr, formData) {
formData["__RequestAntiForgeryToken"] = document.getElementsByName("__RequestVerificationToken")[1].value
});

});

我曾尝试在 Dropzone 的发送事件中附加 token ,但没有成功,即使是在 header 处也是如此。关于如何实现这一目标的任何建议?

最佳答案

Jose,我想你一开始就差一点就成功了。您犯的小错误是在事件处理函数中缺少一个参数。

来自Dropzone documentation :

Called just before each file is sent. Gets the xhr object and the formData objects as second and third parameters, so you can modify them (for example to add a CSRF token) or add additional data.

事件参数实际上是 file, xhr, formData,如果包含所有这三个参数,则可以成功操作表单。这样做的好处是不需要创建自定义属性,只需使用 ValidateAntiForgeryToken 属性即可。

myDropzone.on("sending", function (file, xhr, formData) {
formData["__RequestAntiForgeryToken"] = document.getElementsByName("__RequestVerificationToken")[1].value;
});

我已经使用与您的略有不同的实现方式对此进行了测试,并且效果很好。

关于javascript - 如何将 AntiforgeryToken 与 dropzone.js 一起使用,将 MVC 5 与 Vanilla JS 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32287901/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com