2011-11-10 70 views
1

我正在为我的项目使用jQuery选项卡,通过Ajax“懒惰”加载选项卡内容。jQuery选项卡加载404页面

但是,当我做了错字和Rails框架给了我HTTP 404错误页面,标签将不会加载该页面,我无法看到错误信息。 (纠错: Rails似乎返回HTTP 500,当代码中有拼写错误)

有没有办法告诉jQuery加载/显示404页代码返回页面正常吗?

我走了这么远:

$('#tabs').tabs({ 
    ajaxOptions: { 
     error: function (xhr, status, err) { 
      // Call success function - but how? 
     } 
    } 
}); 
+0

为什么你会在错误时调用成功函数? – Smamatti

+0

我想查看Rails返回的错误信息。我只在开发过程中需要它。我将在生产中关闭它。 –

+0

@PetrCezar看到我下面的评论 - 你不应该需要任何JS代码来做到这一点,所以500错误与404不应该是一个问题。 – brandwaffle

回答

2

的ajaxOptions对象采用相同的选项实际jQuery的阿贾克斯()方法中,这样你就可以使用的StatusCode对象来这里http://api.jquery.com/jQuery.ajax/

你的优势的例子页上的长相的StatusCode像这样:

$.ajax({ 
    statusCode: { 
    404: function() { 
     alert('page not found'); 
    } 
    } 
}); 

要在jQuery的标签上下文中使用它,只传递的StatusCode作为对象进ajaxOptions这样的:

$('#tabs').tabs({ 
    ajaxOptions: { 
    statusCode: { 
     404: function() { 
     //your 404 handling code runs here 
     } 
    } 
    } 
}); 
+0

谢谢,这是一个巨大的进步。但我仍然无法找到哪行代码将返回的页面加载到选项卡。 –

+0

啊!如果这是您的目标,只需使用Chrome的开发人员工具即可完成此操作。点击开发者工具中的网络选项卡,然后在点击选项卡时查找由您的ajax调用所做的请求。返回的任何数据都将显示在您突出显示左侧特定请求时显示的“响应”部分。这里有一个截图:http://grab.by/bdKo通过点击预览,你也可以看到页面的外观(即你的默认404页面有错误):http://grab.by/bdKs – brandwaffle

1

404页也火成功事件不是错误事件。尝试成功事件

相关问题