ExtJS检索JSON数据
我理解,由于XSS漏洞,无法从远程域请求JSON数据:ExtJS检索JSON数据,extjs,Extjs,我理解,由于XSS漏洞,无法从远程域请求JSON数据: Ext.Ajax.request({ method: 'GET', url: 'remoteurl.php' }); 因此,另一种选择是使用ScriptTagProxy和JSONStore: store = new Ext.data.JsonStore({ autoLoad: true, proxy: new Ext.data.ScriptTagProx
Ext.Ajax.request({
method: 'GET',
url: 'remoteurl.php'
});
因此,另一种选择是使用ScriptTagProxy
和JSONStore:
store = new Ext.data.JsonStore({
autoLoad: true,
proxy: new Ext.data.ScriptTagProxy({
url:'remoteurl.php',
restful: true
})
});
问题是我根本无法利用这个请求的响应。虽然我可以将数据打印到控制台(store.reader.jsonData),但我似乎无法持久化它(可能是因为它是异步的)
理想情况下,我想做的是从请求中完整地获取XmlHttpResponseText作为JSON对象——在这个场景中,指定JSONStore的映射不是一个选项,因为我无法预测字段将是什么
有没有办法通过使用JsonStore将整个响应作为对象抓取?
谢谢 Hm,我不相信这是可能的,ScriptTagProxy最终只是一个脚本标记。Hm,我不相信这是可能的,ScriptTagProxy最终只是一个脚本标记。那么,在不将JSON结果映射到字段的情况下获得JSON结果还有什么问题吗?嗯,我真的不明白问题到底是什么。正如您所说,您可以使用store.reader.jsonData访问数据。我不知道您是否遇到了时间问题,但由于它是异步的,所以在尝试访问数据之前,您必须等待加载事件在存储上触发。我已经添加了一个加载事件侦听器,但是否仍然可以从该事件中持久化数据?我可以从这里访问存储数据,但我需要在应用程序的其他地方使用它,并且var test=store.reader.jsonData不会持久化数据。我是否需要在此侦听器中执行所有数据处理?请求完全符合我的要求,但不能跨域执行!嗯,现在我不明白你的意思了。你对坚持的定义是什么?你能举个完整的例子吗?(您在这里介绍的这个简短示例似乎与范围有关。)为您的帮助干杯;这是一个范围问题。为了解决这个问题,我将逻辑添加到了加载事件处理程序中,而不是应用程序中的加载事件处理程序之外……那么,在不将JSON结果映射到字段的情况下获取JSON结果有什么意义呢?嗯,我不太明白问题的实质。正如您所说,您可以使用store.reader.jsonData访问数据。我不知道您是否遇到了时间问题,但由于它是异步的,所以在尝试访问数据之前,您必须等待加载事件在存储上触发。我已经添加了一个加载事件侦听器,但是否仍然可以从该事件中持久化数据?我可以从这里访问存储数据,但我需要在应用程序的其他地方使用它,并且var test=store.reader.jsonData不会持久化数据。我是否需要在此侦听器中执行所有数据处理?请求完全符合我的要求,但不能跨域执行!嗯,现在我不明白你的意思了。你对坚持的定义是什么?你能举个完整的例子吗?(您在这里介绍的这个简短示例似乎与范围有关。)为您的帮助干杯;这是一个范围问题。为了解决这个问题,我在加载事件处理程序中添加了逻辑,而不是在应用程序中的加载事件处理程序之外添加了逻辑。。。