Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExtJS检索JSON数据_Extjs - Fatal编程技术网

ExtJS检索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

我理解,由于XSS漏洞,无法从远程域请求JSON数据:

    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不会持久化数据。我是否需要在此侦听器中执行所有数据处理?请求完全符合我的要求,但不能跨域执行!嗯,现在我不明白你的意思了。你对坚持的定义是什么?你能举个完整的例子吗?(您在这里介绍的这个简短示例似乎与范围有关。)为您的帮助干杯;这是一个范围问题。为了解决这个问题,我在加载事件处理程序中添加了逻辑,而不是在应用程序中的加载事件处理程序之外添加了逻辑。。。