这是 similar to this question 但这并没有解决我的问题,因为这正是我处理这个问题的方式。

    $("#code").live("change", function() {
        var data = { codeId: $(this).find(":selected").attr("id") };

        $.ajax({
            type: "GET",
            url: codeUrl,
            data: data,
            success: function(html) {
               // never gets hit if EmptyResult();
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
               // never gets hit until page navigation, which aborts this call
            }
        });
    });
    [HttpGet]
    public ActionResult CodeParameters(int codeId)
    {
        IList<AdjustmentParameter> parameters = GetCodeParameters(codeId);

        if (parameters == null || !parameters.Any())
            return new EmptyResult();

        return PartialView("EditorTemplates/AdjustmentParameters", parameters);
    }

任何返回 HTML 的代码都按预期工作,但任何返回 new EmptyResult() 的代码似乎都会中断 ajax 调用。我应该做些不同的事情吗?奇怪的是,这不会发生在 3 个不同的 Web 服务器上,只会发生在面向公众的服务器上(自然)。

最佳答案

我在 Fire Fox 中遇到了一个带有 EmptyResult 的问题。当我在 ajax 选项中指定 dataType: 'html' 时已修复。

关于c# - EmptyResult 上的 jQuery AJAX 请求炸弹,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6127122/

10-11 12:12