【发布时间】:2020-01-10 02:15:05
【问题描述】:
我已经在 stackoverflow 上查看了这个solution,但我无法解决我的问题。
在 HomeController 我有一个名为 Audit 的方法,我想通过 jQuery 从 /Home/Index 页面的脚本发布该方法。控制器看起来像:
public class HomeController : Controller
{
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult Audit([FromBody] JObject jObject)
{
if (jObject != null)
{
return Json("success");
}
return Json("failed");
}
}
在 /Home/Index 页面的 javascript 文件中,我尝试以如下方式将 JSON 对象发布到该审计:
var auditData = {};
$(document).ready(function(){
var request = $.getJSON('http://www.geoplugin.net/json.gp', function (responseData, status) {
auditData = {
Latitude : responseData.geoplugin_latitude,
Longitude : responseData.geoplugin_longitude
};
$.post('Audit', auditData, function (response) {
console.log(response);
});
});
});
我希望将 auditData 对象作为 JObject 发布到 /Home/Audit 中,但出现了问题。我认为控制器或 $.post 方法存在问题。我该如何解决这个问题?
【问题讨论】:
-
你调试过请求看看错误是什么吗?我可以看到您没有传递防伪令牌,因此如果没有其他问题,该属性将导致问题
-
@RoryMcCrossan 调试说:加载资源失败:服务器响应状态为 404(未找到)
-
那是你的第一个问题。
'Audit'路径无效。我建议尝试'/Home/Audit'
标签: javascript jquery asp.net-core .net-core asp.net-core-mvc