0

我正在尝试从 AJAX POST 中捕获数据,这些数据已通过 jQuery 发送到 ASP.NET MVC 的控制器端点,如下所示:

$("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() {

        }
    });

我已经测试了控制器,了解我发送给他的内容,但主要问题是返回我的 jQuery 函数的结果。

我从控制器返回结果是这样的:http: //ideone.com/hNkF3Z

但我不明白为什么服务器返回一个文件供下载:

如果打开文件,结果有效:{"Result":"failed"}

我知道,我没有在 JavaScript 中的成功函数中编写代码,但我认为服务器不能返回文件下载,并且调试器必须在断点处停止,断​​点是在函数的最后一个范围内定义}success

4

1 回答 1

5

您看到的是默认表单提交。因为您没有阻止默认浏览器操作,所以表单仍然被发布,就好像事件处理程序甚至不存在一样。

更新您的 JavaScript 以防止默认浏览器行为e.preventDefault()

$("form#auth").submit(function(e) {
    e.preventDefault();
    /* rest of your code here. */
 }
于 2013-06-25T16:45:15.740 回答