首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ExtJs的Ajax.request

使用ExtJs的Ajax.request
EN

Stack Overflow用户
提问于 2012-05-11 13:37:20
回答 5查看 24.3K关注 0票数 4

我在从文件加载JSON内容时遇到困难。console.log打印"server-side failure with status code 0",这意味着请求失败。

我的JSON文件URL是正确的,并且该文件位于给定的地址。

Firebug显示错误:

代码语言:javascript
复制
"NetworkError: 405 Not Allowed - http://localhost:8080/4910.json?_dc=1336714070619

Net标记显示状态为405 not allowed

你知道为什么会发生这样的事情吗?

代码语言:javascript
复制
Ext.Ajax.request({
                   url: 'http://localhost:8080/4910.json',
                   success: function(response, opts) {
                      var obj = Ext.decode(response.responseText);
                      console.log(obj[0].name);
                   },
                   failure: function(response, opts) {
                      console.log('server-side failure with status code ' + response.status);
                   }
                });

另外,将参数_dc=1336714070619添加到GET请求的末尾是什么?

EN

回答 5

Stack Overflow用户

发布于 2012-05-11 17:58:22

仅供参考..。

对于正在添加参数_dc的。dc代表disable cache。

默认情况下,extjs中的每个请求都会自动向请求变量追加_dc。更多info

如果您不需要它,只需将disableCaching: false设置为您的请求

代码语言:javascript
复制
Ext.Ajax.request({
    disableCaching: false,
    url: 'http://localhost:8080/4910.json',
    ......
});

对于为什么不允许。

尝试在不使用_dc的情况下打开JSON URL路径,或者您的服务器可能有问题。

票数 7
EN

Stack Overflow用户

发布于 2012-05-11 15:01:04

如果您访问的文件在同一个域中,您可以直接给出其中的相对路径。

如果请求是跨域的:如果你需要从另一个域读取数据,并且不能设置代理服务器(一些软件运行在你自己域的web服务器上,并且透明地将请求转发到domainB.com,使其看起来像是实际上来自domainA.com),你可以使用Ext.data.proxy.JsonP和一种称为JSON-P (带填充的JSON)的技术,只要domainB.com上的服务器被设置为支持JSON-P响应,它就可以帮助你解决这个问题。有关更多详细信息,请参阅JsonPProxy的简介文档。

检查 http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.proxy.JsonP

票数 3
EN

Stack Overflow用户

发布于 2012-05-11 14:42:23

我认为您应该使用url的相对路径(这里是与js文件比较),例如,如果json文件与您的js文件在同一文件夹中,则它应该是4910.json

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10545961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档