Sencha touch 2 Sencha Touch:如何捕获服务器返回的状态码
我正在使用SAP“Odata”代理开发Sencha touch应用程序 在我的商店中,我正在调用URL进行读取操作 http:///sap/opu/odata/sap/TECHHELP/Tickets 我使用以下代码在控制器中手动加载存储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
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我能够获取消息。