我在从文件加载JSON内容时遇到困难。console.log打印"server-side failure with status code 0",这意味着请求失败。
我的JSON文件URL是正确的,并且该文件位于给定的地址。
Firebug显示错误:
"NetworkError: 405 Not Allowed - http://localhost:8080/4910.json?_dc=1336714070619Net标记显示状态为405 not allowed。
你知道为什么会发生这样的事情吗?
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请求的末尾是什么?
发布于 2012-05-11 17:58:22
仅供参考..。
对于正在添加参数_dc的。dc代表disable cache。
默认情况下,extjs中的每个请求都会自动向请求变量追加_dc。更多info
如果您不需要它,只需将disableCaching: false设置为您的请求
Ext.Ajax.request({
disableCaching: false,
url: 'http://localhost:8080/4910.json',
......
});对于为什么不允许。
尝试在不使用_dc的情况下打开JSON URL路径,或者您的服务器可能有问题。
发布于 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
发布于 2012-05-11 14:42:23
我认为您应该使用url的相对路径(这里是与js文件比较),例如,如果json文件与您的js文件在同一文件夹中,则它应该是4910.json。
https://stackoverflow.com/questions/10545961
复制相似问题