Ajax 在发生错误时调用 return 文件或部分文件 html - 如何处理?

Ajax call which return a file or a partial html on case of error - how to handle that?

假设我们有一个带有一些设置的对话框,然后在对话框按钮“确定”上,设置通过 AJAX 调用发送到控制器函数。此调用要么生成可下载文件,要么生成(部分)html 源代码中描述的错误。在后一种情况下,必须将此错误消息插入到对话框中。

$.ajax( { 
   url: url, 
   data: dialogFormData, 
   success: function(data) { ???? }
});

如何处理这种情况?如何处理 ajax 响应来处理结果?有什么想法吗?

您想要的是检查响应类型并采取相应措施。
您可以尝试类似的操作:

$.ajax({
  url: url, 
  data: dialogFormData, 
  success: function(response, status, xhr){ 
    var ct = xhr.getResponseHeader("content-type") || "";
    if (ct.indexOf('multipart/form-data') > -1) {
      // do something with file
    }
    if (ct.indexOf('text/html') > -1) {
      // do something with html
    } 
  }
});

我没有测试这段代码,您可能需要尝试一下类型才能获得正确的类型。