javascript - 如何从 ASP.NET MVC 4 Controller 捕获 JSON 结果?

标签 javascript jquery json asp.net-mvc-4 jsonresult

我正在尝试从 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/

相关文章:

javascript - 无法从 React Form 中的选择组件取回提交的数据

c# - ASP.Net MVC,使用 JQuery.Ajax 提交表单

javascript - 我如何将此 javascript 转换为 jquery?

javascript - jQuery 从以前的数据输入表单中删除类

php - 跨域 JSON/PHP

c# - 通过 ApiController 将 JSON 发布到 Azure 队列

java - 处理与 Jackson `JsonIgnoreProperties` 的 JPA/Hibernate 实体双向关系的循环引用/依赖关系时出错

javascript - 在 Promise 中编辑 .then()

JavaScript:使用 'or' 语句声明 VAR

javascript - 限制文本字段中的整数