Sencha touch 2 Sencha Touch:如何捕获服务器返回的状态码

Sencha touch 2 Sencha Touch:如何捕获服务器返回的状态码,sencha-touch-2,Sencha Touch 2,我正在使用SAP“Odata”代理开发Sencha touch应用程序 在我的商店中,我正在调用URL进行读取操作 http:///sap/opu/odata/sap/TECHHELP/Tickets 我使用以下代码在控制器中手动加载存储 var ticketStore = Ext.getStore("Tickets"); var proxy=ticketStore.getProxy(); ticketStore.load(function(records, operation, succes

我正在使用SAP“Odata”代理开发Sencha touch应用程序

在我的商店中,我正在调用URL进行读取操作

http:///sap/opu/odata/sap/TECHHELP/Tickets

我使用以下代码在控制器中手动加载存储

var ticketStore = Ext.getStore("Tickets");
var proxy=ticketStore.getProxy();

ticketStore.load(function(records, operation, success) {

        if(success){

        console.log('loaded records');
        }
        else{
          console.log('loading failed');
        }
    }, this);
在浏览器中执行应用程序时,我可以在“网络”选项卡中看到格式

状态代码:401未经授权

现在,当执行URL时,我希望捕获应用程序中的确切状态代码和消息

我想通过检查从服务器返回的状态代码来捕获可能的错误条件,例如:500401200204

我该怎么做

问候,


这对我很有帮助

new Ext.data.Store({
model: "Your Model",
proxy:{
type: 'ajax',
url: "SomeURL",
reader: new Ext.data.JsonReader({
type: 'json',
root: 'SOME ROOT'
}),
listeners: {
exception:function (proxy, response,operation) {
  console.log(response.status);
  console.log(response.responseText); 
}
}
}
})

这可能会对您有所帮助。

我尝试分析response.text,但它为空,我还尝试读取操作。getError()是一个对象,但我无法读取错误文本。谢谢,response.status提供了正确的错误代码。“response.responseText”给出了xml格式的响应,现在当我尝试使用代码“Ext.decode(response.responseText)”或“JSON.decode(response.responseText)”从该响应文本中提取消息时我得到错误未捕获错误:您试图解码无效的JSON字符串:我需要显示服务器值Tue Sep 03 2013 19:45:03 GMT+0530(印度标准时间)返回的确切错误不代表整个响应xml的有效日期/时间如果您尝试使用DOMParser解析xml文档。访问非常感谢您的帮助,使用DOMParser我能够获取消息。