我正在尝试从 AJAX POST 捕获数据,我已通过 jQuery 将数据发送到 ASP.NET MVC 的 Controller 端点,如下所示:
$("form#auth").submit(function() {
var login = $('input[id=login]').val();
var password = $('input[id=password]').val();
$.ajax({
url: "/Home/Auth",
type: "POST",
data: "Login=" + login + "&Password=" + password,
dataType: 'json',
contentType: 'application/json; charset=utf-8'
success: function() {
}
});
我已经测试了 Controller 了解我发送给他的内容,但主要问题是返回 jQuery 函数的结果。
我从 Controller 返回结果如下: http://ideone.com/hNkF3Z
但我不明白为什么服务器返回文件供下载:
如果打开文件,结果有效:{"Result":"failed"}
我知道,我没有在 JavaScript 的成功函数中编写代码,但我认为服务器不得返回文件下载,并且调试器必须在断点处停止,该断点是在最后一个作用域中定义的
。success
函数的 }
最佳答案
您看到的是默认的表单提交。由于您没有阻止默认的浏览器操作,因此表单仍会被发布,就好像事件处理程序根本不存在一样。
使用 e.preventDefault() 更新 JavaScript 以防止默认浏览器行为
$("form#auth").submit(function(e) {
e.preventDefault();
/* rest of your code here. */
}
关于javascript - 如何从 ASP.NET MVC 4 Controller 捕获 JSON 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17302812/