0

假设我从返回视图 Index.aspx 的 HomeController 调用了 Index(),Index.aspx 上的 javascript 中的 jquery ajax 可以调用另一个控制器 (ExternalController) 中的方法吗?

$.ajax({
            type: "POST",
            url: "/Home/sayHi",
            dataType: "json",
            data:({ currRow : centerPost[0], offset : ((-1 * Math.ceil(numRows / 2)) + 1) }),
            error:function(request){alert(request.statusText)},
            success:function(result){alert(result)}
        }).responseText;

没有给我错误,页面是从 HomeController 呈现的

$.ajax({
            type: "POST",
            url: "/Row/getRowName",
            dataType: "json",
            data:({ currRow : centerPost[0], offset : ((-1 * Math.ceil(numRows / 2)) + 1) }),
            error:function(request){alert(request.statusText)},
            success:function(result){alert(result)}
        }).responseText;

给了我一个内部服务器错误...

只是想知道这是否可能是因为我调用的控制器与渲染视图的控制器不同

4

1 回答 1

2

调用与呈现当前视图的控制器不同的控制器应该没有任何理由会导致任何类型的错误。控制器只是一组通用命令的处理程序。这些命令是由浏览器的地址栏、超链接还是由 jQuery ajax 调用发出的并不重要。这三个都使用相同的协议向控制器发出命令。

我的猜测是您的代码有问题导致内部服务器错误。您是否尝试过在浏览器中直接进入 /Row/getRowName 看看会发生什么?它是否适用于 GET 和 POST,只有 POST,只有 GET?也许您在仅支持 GET 时发布 POST?在进一步帮助您之前,我需要更多信息。

于 2009-06-24T03:57:17.483 回答