在使用xui的xhr时如何处理错误?

时间:2011-11-23 23:39:12

标签: javascript xmlhttprequest xui

我正在使用以下代码从外部网站获取一些数据。

<script type="text/javascript">
    xui.ready(function() { 

             var url = 'http://www.domain.com/getData.aspx';
             x$().xhr(url,function(){
                 alert(this.responseText);
             });    
        }
    );
</script>

更新:

我将我的代码更新为以下内容,但即使我得到404,回调函数仍然会被触发而不是错误函数。

<script type="text/javascript">
    xui.ready(function() { 

             var url = 'http://localhost:49617/SalesForceWebservice/Test/Default4.aspx';
             x$().xhr(url,{
                 method: 'get',
                 async: true,
                 error: function(){
                     alert('error');
                 },
                 callback: function(){
                     alert('success');
                 }
             });
        }
    );

</script>

上面的代码工作正常,但今天早上,外部网站已关闭,这导致页面失败。根据文档,看起来只有当xhr调用接收状态200时才调用回调函数。处理错误500或404的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

您是否阅读过documentation

看一下你可以作为参数传递的{options}:

  

方法字符串可以是get,put,delete,post。默认是get。

     

async 布尔启用异步请求。默认为false。

     

数据字符串是要发送的url编码参数字符串。

     

错误在错误或状态不是200时调用函数。(即故障回调)。

     

回调在状态200上调用函数(即成功回调)。