Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置iframe的src时捕获500响应_Javascript_C#_Jquery_Webforms - Fatal编程技术网

Javascript 设置iframe的src时捕获500响应

Javascript 设置iframe的src时捕获500响应,javascript,c#,jquery,webforms,Javascript,C#,Jquery,Webforms,我正在做类似于此代码的事情: $('#myIFrame').attr('src', 'dosomethingthatreturnsadocument.aspx'); 被调用的页面返回一个文档,无论是word文档、pdf等,并提示用户打开/保存,通常情况下工作正常 我遇到的问题是,如果服务器端出现问题,将返回500响应。我似乎没有办法抓住这个错误 我试着绕着那条线接球。iframe的.error函数似乎无法捕获它 有没有人知道一种好方法可以让我捕捉到500,这样我就可以对UI采取相应的行动?您应

我正在做类似于此代码的事情:

$('#myIFrame').attr('src', 'dosomethingthatreturnsadocument.aspx');
被调用的页面返回一个文档,无论是word文档、pdf等,并提示用户打开/保存,通常情况下工作正常

我遇到的问题是,如果服务器端出现问题,将返回500响应。我似乎没有办法抓住这个错误

我试着绕着那条线接球。iframe的.error函数似乎无法捕获它


有没有人知道一种好方法可以让我捕捉到500,这样我就可以对UI采取相应的行动?

您应该首先检查响应,然后在iframe中设置它。您可以尝试以下方法:

var loading_url = "/dosomethingthatreturnsadocument.aspx"
$.ajax({
url: loading_url,
type: 'GET',
complete: function(e, xhr, settings){
     if(e.status === 200){
          $('#myIFrame').attr('src', 'dosomethingthatreturnsadocument.aspx');
     }else if(e.status===500){
      // do something
     }
  }
});

您可以在加载iframe后立即使用jQuery检查其内容,并检查它是否为错误页面,例如检查页面的标题

$(".loadbutton").on('click',function(){
  $(".iframe").attr("src", "http://www.example.org/")
  .load(function(){
    if($(this).contents().find("title").first().text() == "error"){
      //Error occured!
    }else{
      //Works!
      alert( "loaded!" );
    }
  })
})

您可以尝试将if语句更改为您喜欢的其他语句。

是否重复现有问题?这是一个长期运行的报告页面的问题吗?