javascript - 如何使用 XmlHttpRequest 发送 FormData 并映射到 viewmodel 属性
问题描述
我正在尝试使用 XmlHttpRequest 将 FormData 对象中的一些值发送到控制器。问题是当我在本地(本地主机)执行此操作时,数据会正确映射到 ViewModel 的属性,并且一切正常。当我在我们的生产环境中尝试这样做时,似乎这些值没有映射到 ViewModel。(发布发生在同一个 url 上)
- 是否有任何我不知道的安全检查?
- 有没有人有任何建议做什么或去哪里看?
JS:
var payload = new FormData();
payload.append('TestTitle', $('#TestTitle').text());
payload.append('TestId', $('#TestId').val());
payload.append('TestGuid', $('#TestGuid').val());
var xhr = new XMLHttpRequest();
xhr.addEventListener('readystatechange', onStateChange);
xhr.open('POST', '/test/savetest?rand=' + Math.random());
xhr.send(payload);
------
C#:
[HttpPost]
public ActionResult SaveTest(TestViewModel model)
{
if (ModelState.IsValid)
{
//do stuff
}
return new JsonResult() { Data = new { Success = false }, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
解决方案
经过一番调查,我发现 POST 由于安全设置而被阻止。
推荐阅读
- c# - QR 码包含将焦点设置在 WPF 中的下一个对象上的 TAB
- ionic-framework - 将 ionic 4 网站部署到 digitaloceans 空间 CDN
- sql-server - 查询记录变量号
- java - Jackson - ObjectMapper 重命名有关规则的一些字段名称
- sql-server - Django 模型 MultipleObjectsReturned
- ios - 如何将触摸重新映射到另一个窗口?
- c# - 无法将索引 716 处的 Unicode 字符 \uD83D 转换为指定的代码页。EPPLUS
- c# - 为单例类成员引入类似中间件的实现
- yocto - 向 Raspberry Yocto 项目添加新的 dts
- ms-word - Office 2013 的带有功能区按钮的 Office 插件清单